Call Libraries

library(tidyverse)
library(caret)
library(MASS)
library(car)
library(moments)

Calling the Transformed Datasets

income_cleaned = read_csv('NYS_Corp_Tax_Credit_data/income_cleaned.csv')
Rows: 1921 Columns: 6── Column specification ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Delimiter: ","
chr (2): Name, Group
dbl (4): Year, Num, Amount, Avg
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
income_cleaned
industry_cleaned = read_csv('NYS_Corp_Tax_Credit_data/industry_cleaned.csv')
Rows: 2476 Columns: 6── Column specification ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Delimiter: ","
chr (2): Name, Group
dbl (4): Year, Num, Amount, Avg
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
industry_cleaned

Creating the Models

sat.model.summary <- function (df, field, sat.formula){
    
    #Shapiro-Wilks test to evaluate normality
    print(shapiro.test(df[[field]]))
    
    #Kurtosis evaluation (normal distribution has a value close to 3)
    print('kurtosis')
    print(kurtosis(df[[field]]))
    linear.model.cleaned = lm(sat.formula, data = df)
    print(summary(linear.model.cleaned))
    plot(linear.model.cleaned)
    
    #histograms of response variable to check distribution
    print(df %>% 
      ggplot(aes_string(field)) + 
      geom_histogram() + 
      labs(title = 'Average Credit Amount Distribution') + 
      theme(plot.title = element_text(hjust = 0.5)))
    
    #Checking multicollinearity using VIF measurement
    print(vif(linear.model.cleaned))
    influencePlot(linear.model.cleaned)
    #avPlots(linear.model.cleaned)
}


sat.formula <- Avg ~ . - Amount
sat.field <- 'Avg'

sat.model.summary(income_cleaned, sat.field, sat.formula)
income.model <- lm(sat.formula, data = income_cleaned)
summary(income.model)

sat.model.summary(industry_cleaned, sat.field, sat.formula)
industry.model <- lm(sat.formula, data = industry_cleaned)

Correcting violation of Normality in previous model with BoxCox transform

bc_func <- function (lm.cleaned, lambda.range){
  bc = boxCox(lm.cleaned, lambda = lambda.range)
  #Extracting the best lambda value.
  return(bc$x[which(bc$y == max(bc$y))])
}
  
#Income Group Dataset
income.lambda.bc = bc_func(income.model, seq(-0.2, 0.2, 1/10))

income.lambda.bc
[1] -0.01414141
#Industry Group Dataset
industry.lambda.bc = bc_func(industry.model, seq(-0.2, 0.2, 1/10))

industry.lambda.bc
[1] -0.03434343
bc_transform <- function(df, lambda.bc){
  return (df %>% 
            mutate(Avg.bc = (Avg^lambda.bc -1)/lambda.bc) %>% 
            select(-c(Avg, Amount)))
}

#Income Group Dataset
income_cleaned_bc <- bc_transform(income_cleaned, income.lambda.bc)
income.model.bc = lm(Avg.bc ~ ., data = income_cleaned_bc)

#Industry Group Dataset
industry_cleaned_bc <- bc_transform(industry_cleaned, industry.lambda.bc)
industry.model.bc = lm(Avg.bc ~ ., data = industry_cleaned_bc)

Checking linear regression assumptions for the transformed data.

sat.formula.bc <- Avg.bc ~ .
sat.field.bc <- 'Avg.bc'

#Income
sat.model.summary(income_cleaned_bc, sat.field.bc, sat.formula.bc)

    Shapiro-Wilk normality test

data:  df[[field]]
W = 0.99696, p-value = 0.000782

[1] "kurtosis"
[1] -0.2553313

Call:
lm(formula = sat.formula, data = df)

Residuals:
    Min      1Q  Median      3Q     Max 
-6.6597 -0.5738 -0.0113  0.5668  4.4826 

Coefficients:
                                                                                                Estimate Std. Error t value Pr(>|t|)
(Intercept)                                                                                   -3.634e+01  1.456e+01  -2.496 0.012643
Year                                                                                           2.288e-02  7.214e-03   3.171 0.001543
NameAlternative Fuels and Electric Vehicle Recharging Property Credit                         -8.643e-01  3.281e-01  -2.634 0.008510
NameAlternative Minimum Tax Credit                                                            -2.052e+00  2.577e-01  -7.962 2.91e-15
NameBeer Production Credit                                                                     5.687e-01  3.407e-01   1.669 0.095234
NameBrownfield Tax Credits - Redevelopment Tax Credit - On or after 6/23/08 but before 7/1/15  1.715e+00  2.630e-01   6.521 8.99e-11
NameBrownfield Tax Credits - Redevelopment Tax Credit - On or after 7/1/15                     2.676e+00  3.754e-01   7.130 1.43e-12
NameBrownfield Tax Credits - Redevelopment Tax Credit - Prior to 6/23/08                       1.331e+00  2.622e-01   5.076 4.24e-07
NameBrownfield Tax Credits - Remediation Real Property Tax Credit                              5.458e-02  2.620e-01   0.208 0.834991
NameClean Heating Fuel Credit                                                                 -3.086e+00  2.705e-01 -11.409  < 2e-16
NameConservation Easement Tax Credit                                                          -2.137e+00  2.810e-01  -7.606 4.45e-14
NameCredit for Employment of Persons with Disabilities                                        -3.118e+00  2.956e-01 -10.547  < 2e-16
NameCredit for Purchase of an Automated External Defibrillator                                -2.938e+00  2.560e-01 -11.473  < 2e-16
NameCredit for Taxicabs & Livery Service Vehicles Accessible to Persons with Disabilities     -5.673e-01  4.698e-01  -1.207 0.227430
NameEmpire State Apprentice Tax Credit                                                        -2.207e+00  4.024e-01  -5.485 4.71e-08
NameEmpire State Commercial Production Credit                                                  6.075e-02  3.410e-01   0.178 0.858634
NameEmpire State Film Post Production Credit                                                   1.101e+00  2.769e-01   3.977 7.25e-05
NameEmpire State Film Production Credit                                                        2.853e+00  2.632e-01  10.838  < 2e-16
NameEmpire State Musical and Theatrical Production Credit                                      2.508e-01  4.688e-01   0.535 0.592803
NameExcelsior Jobs Program Credit                                                              4.651e-01  2.521e-01   1.845 0.065178
NameEZ/QEZE Tax Credits - EZ Investment Tax Credit                                             8.876e-01  2.341e-01   3.792 0.000154
NameEZ/QEZE Tax Credits - EZ Wage Tax Credit                                                   1.775e-01  2.433e-01   0.730 0.465701
NameEZ/QEZE Tax Credits - QEZE Credit for Real Property Taxes                                  1.220e+00  2.440e-01   5.000 6.26e-07
NameEZ/QEZE Tax Credits - QEZE Credit for Real Property Taxes For Corporate Partners           1.182e-01  2.522e-01   0.469 0.639260
NameEZ/QEZE Tax Credits - QEZE Tax Reduction Credit                                           -8.497e-01  2.479e-01  -3.427 0.000623
NameEZ/QEZE Tax Credits - QEZE Tax Reduction Credit For Corporate Partners                    -1.358e+00  2.756e-01  -4.928 9.02e-07
NameFarm Workforce Retention Credit                                                           -1.612e+00  3.394e-01  -4.749 2.20e-06
NameFarmers' School Tax Credit                                                                -1.311e+00  2.696e-01  -4.863 1.26e-06
NameHire a Veteran Credit                                                                     -2.915e+00  4.706e-01  -6.195 7.15e-10
NameHistoric Properties Rehabilitation Credit                                                  1.918e+00  2.786e-01   6.886 7.81e-12
NameIndustrial or Manufacturing Business Tax Credit                                           -1.718e+00  2.836e-01  -6.059 1.66e-09
NameInvestment Tax Credit                                                                      7.147e-02  2.349e-01   0.304 0.760985
NameInvestment Tax Credit for the Financial Services Industry                                  3.176e-01  2.662e-01   1.193 0.232870
NameLife Sciences Research & Development Tax Credit                                            7.033e-01  5.543e-01   1.269 0.204728
NameLong-Term Care Insurance Credit                                                           -2.863e+00  2.590e-01 -11.051  < 2e-16
NameLow-Income Housing Credit                                                                 -9.063e-01  2.940e-01  -3.083 0.002080
NameMinimum Wage Reimbursement Credit                                                         -1.241e+00  2.656e-01  -4.674 3.17e-06
NameMortgage Servicing Tax Credit                                                             -9.378e-01  2.865e-01  -3.273 0.001084
NameNew York Youth Jobs Program Tax Credit                                                    -1.330e+00  2.478e-01  -5.367 9.01e-08
NameQETC Capital Tax Credit                                                                    4.561e-01  3.661e-01   1.246 0.212956
NameQETC Employment Credit                                                                    -5.888e-01  2.709e-01  -2.174 0.029855
NameQETC Facilities, Operations, and Training Credit                                           5.799e-01  5.065e-01   1.145 0.252462
NameReal Property Tax Relief Credit for Manufacturing                                         -1.518e+00  2.550e-01  -5.956 3.09e-09
NameSpecial Additional Mortgage Recording Tax Credit                                          -2.309e-01  2.441e-01  -0.946 0.344374
NameSTART-UP NY Tax Elimination Credit                                                        -2.193e+00  2.985e-01  -7.345 3.05e-13
Group1,000,000 - 24,999,999                                                                    1.090e+00  9.246e-02  11.785  < 2e-16
Group100,000 - 499,999                                                                         3.590e-01  9.451e-02   3.798 0.000150
Group100,000,000 - 499,999,999                                                                 1.685e+00  1.040e-01  16.202  < 2e-16
Group25,000,000 - 49,999,999                                                                   1.325e+00  1.115e-01  11.883  < 2e-16
Group50,000,000 - 99,999,999                                                                   1.473e+00  1.118e-01  13.172  < 2e-16
Group500,000 - 999,999                                                                         6.032e-01  1.025e-01   5.886 4.67e-09
Group500,000,000 - and over                                                                    2.332e+00  1.016e-01  22.953  < 2e-16
GroupZero or Net Loss                                                                          9.934e-01  8.817e-02  11.267  < 2e-16
Num                                                                                           -1.533e-03  2.263e-04  -6.775 1.66e-11
                                                                                                 
(Intercept)                                                                                   *  
Year                                                                                          ** 
NameAlternative Fuels and Electric Vehicle Recharging Property Credit                         ** 
NameAlternative Minimum Tax Credit                                                            ***
NameBeer Production Credit                                                                    .  
NameBrownfield Tax Credits - Redevelopment Tax Credit - On or after 6/23/08 but before 7/1/15 ***
NameBrownfield Tax Credits - Redevelopment Tax Credit - On or after 7/1/15                    ***
NameBrownfield Tax Credits - Redevelopment Tax Credit - Prior to 6/23/08                      ***
NameBrownfield Tax Credits - Remediation Real Property Tax Credit                                
NameClean Heating Fuel Credit                                                                 ***
NameConservation Easement Tax Credit                                                          ***
NameCredit for Employment of Persons with Disabilities                                        ***
NameCredit for Purchase of an Automated External Defibrillator                                ***
NameCredit for Taxicabs & Livery Service Vehicles Accessible to Persons with Disabilities        
NameEmpire State Apprentice Tax Credit                                                        ***
NameEmpire State Commercial Production Credit                                                    
NameEmpire State Film Post Production Credit                                                  ***
NameEmpire State Film Production Credit                                                       ***
NameEmpire State Musical and Theatrical Production Credit                                        
NameExcelsior Jobs Program Credit                                                             .  
NameEZ/QEZE Tax Credits - EZ Investment Tax Credit                                            ***
NameEZ/QEZE Tax Credits - EZ Wage Tax Credit                                                     
NameEZ/QEZE Tax Credits - QEZE Credit for Real Property Taxes                                 ***
NameEZ/QEZE Tax Credits - QEZE Credit for Real Property Taxes For Corporate Partners             
NameEZ/QEZE Tax Credits - QEZE Tax Reduction Credit                                           ***
NameEZ/QEZE Tax Credits - QEZE Tax Reduction Credit For Corporate Partners                    ***
NameFarm Workforce Retention Credit                                                           ***
NameFarmers' School Tax Credit                                                                ***
NameHire a Veteran Credit                                                                     ***
NameHistoric Properties Rehabilitation Credit                                                 ***
NameIndustrial or Manufacturing Business Tax Credit                                           ***
NameInvestment Tax Credit                                                                        
NameInvestment Tax Credit for the Financial Services Industry                                    
NameLife Sciences Research & Development Tax Credit                                              
NameLong-Term Care Insurance Credit                                                           ***
NameLow-Income Housing Credit                                                                 ** 
NameMinimum Wage Reimbursement Credit                                                         ***
NameMortgage Servicing Tax Credit                                                             ** 
NameNew York Youth Jobs Program Tax Credit                                                    ***
NameQETC Capital Tax Credit                                                                      
NameQETC Employment Credit                                                                    *  
NameQETC Facilities, Operations, and Training Credit                                             
NameReal Property Tax Relief Credit for Manufacturing                                         ***
NameSpecial Additional Mortgage Recording Tax Credit                                             
NameSTART-UP NY Tax Elimination Credit                                                        ***
Group1,000,000 - 24,999,999                                                                   ***
Group100,000 - 499,999                                                                        ***
Group100,000,000 - 499,999,999                                                                ***
Group25,000,000 - 49,999,999                                                                  ***
Group50,000,000 - 99,999,999                                                                  ***
Group500,000 - 999,999                                                                        ***
Group500,000,000 - and over                                                                   ***
GroupZero or Net Loss                                                                         ***
Num                                                                                           ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.022 on 1867 degrees of freedom
Multiple R-squared:  0.7368,    Adjusted R-squared:  0.7293 
F-statistic: 98.61 on 53 and 1867 DF,  p-value: < 2.2e-16

          GVIF Df GVIF^(1/(2*Df))
Year  2.125869  1        1.458036
Name  3.521453 43        1.014746
Group 1.510763  8        1.026124
Num   1.645484  1        1.282764

#Industry
sat.model.summary(industry_cleaned_bc, sat.field.bc, sat.formula.bc)

    Shapiro-Wilk normality test

data:  df[[field]]
W = 0.9902, p-value = 5.826e-12

[1] "kurtosis"
[1] -0.4869026

Call:
lm(formula = sat.formula, data = df)

Residuals:
    Min      1Q  Median      3Q     Max 
-6.2888 -0.4697  0.0183  0.4928  3.9068 

Coefficients:
                                                                                                Estimate Std. Error t value Pr(>|t|)
(Intercept)                                                                                   -6.095e+01  1.107e+01  -5.505 4.09e-08
Year                                                                                           3.440e-02  5.488e-03   6.269 4.30e-10
NameAlternative Fuels and Electric Vehicle Recharging Property Credit                          2.665e-01  2.733e-01   0.975 0.329737
NameAlternative Minimum Tax Credit                                                            -2.463e+00  2.272e-01 -10.839  < 2e-16
NameBeer Production Credit                                                                     6.334e-01  3.381e-01   1.873 0.061126
NameBrownfield Tax Credits - Redevelopment Tax Credit - On or after 6/23/08 but before 7/1/15  2.198e+00  2.415e-01   9.100  < 2e-16
NameBrownfield Tax Credits - Redevelopment Tax Credit - On or after 7/1/15                     2.727e+00  3.930e-01   6.939 5.06e-12
NameBrownfield Tax Credits - Redevelopment Tax Credit - Prior to 6/23/08                       1.586e+00  2.581e-01   6.148 9.17e-10
NameBrownfield Tax Credits - Remediation Real Property Tax Credit                              9.695e-01  2.570e-01   3.772 0.000166
NameClean Heating Fuel Credit                                                                 -2.544e+00  2.481e-01 -10.252  < 2e-16
NameConservation Easement Tax Credit                                                          -1.123e+00  2.538e-01  -4.423 1.02e-05
NameCredit for Employment of Persons with Disabilities                                        -1.245e+00  2.737e-01  -4.549 5.67e-06
NameCredit for Purchase of an Automated External Defibrillator                                -1.535e+00  2.411e-01  -6.368 2.29e-10
NameCredit for Taxicabs & Livery Service Vehicles Accessible to Persons with Disabilities     -8.171e-02  4.474e-01  -0.183 0.855119
NameEmpire State Apprentice Tax Credit                                                        -8.683e-01  5.464e-01  -1.589 0.112125
NameEmpire State Commercial Production Credit                                                  6.235e-01  3.333e-01   1.871 0.061481
NameEmpire State Film Post Production Credit                                                   1.439e+00  2.821e-01   5.100 3.66e-07
NameEmpire State Film Production Credit                                                        3.232e+00  2.584e-01  12.509  < 2e-16
NameEmpire State Musical and Theatrical Production Credit                                      1.012e+00  4.865e-01   2.080 0.037608
NameExcelsior Jobs Program Credit                                                              1.643e+00  2.372e-01   6.929 5.42e-12
NameEZ/QEZE Tax Credits - EZ Investment Tax Credit                                             1.310e+00  2.332e-01   5.617 2.17e-08
NameEZ/QEZE Tax Credits - EZ Wage Tax Credit                                                   7.127e-01  2.275e-01   3.133 0.001750
NameEZ/QEZE Tax Credits - QEZE Credit for Real Property Taxes                                  1.707e+00  2.264e-01   7.540 6.61e-14
NameEZ/QEZE Tax Credits - QEZE Credit for Real Property Taxes For Corporate Partners           9.777e-01  2.328e-01   4.200 2.77e-05
NameEZ/QEZE Tax Credits - QEZE Tax Reduction Credit                                            1.609e-01  2.303e-01   0.699 0.484921
NameEZ/QEZE Tax Credits - QEZE Tax Reduction Credit For Corporate Partners                    -5.241e-01  2.722e-01  -1.925 0.054320
NameFarm Workforce Retention Credit                                                           -8.623e-01  2.890e-01  -2.984 0.002876
NameFarmers' School Tax Credit                                                                -1.158e+00  2.771e-01  -4.179 3.03e-05
NameHire a Veteran Credit                                                                     -1.040e+00  4.456e-01  -2.335 0.019638
NameHistoric Properties Rehabilitation Credit                                                  2.397e+00  2.614e-01   9.172  < 2e-16
NameInvestment Tax Credit                                                                      6.981e-01  2.230e-01   3.131 0.001763
NameInvestment Tax Credit for the Financial Services Industry                                  1.560e+00  3.108e-01   5.019 5.59e-07
NameLife Sciences Research & Development Tax Credit                                            9.057e-01  4.864e-01   1.862 0.062697
NameLong-Term Care Insurance Credit                                                           -1.867e+00  2.268e-01  -8.231 3.01e-16
NameLow-Income Housing Credit                                                                  1.331e+00  2.967e-01   4.487 7.57e-06
NameMinimum Wage Reimbursement Credit                                                         -9.161e-01  2.366e-01  -3.872 0.000111
NameMortgage Servicing Tax Credit                                                              8.932e-01  3.489e-01   2.560 0.010534
NameNew York Youth Jobs Program Tax Credit                                                     1.263e-01  2.307e-01   0.548 0.584069
NameQETC Capital Tax Credit                                                                    1.162e+00  3.168e-01   3.667 0.000251
NameQETC Employment Credit                                                                    -3.048e-01  2.411e-01  -1.264 0.206249
NameQETC Facilities, Operations, and Training Credit                                           1.147e+00  3.624e-01   3.165 0.001571
NameReal Property Tax Relief Credit for Manufacturing                                         -6.559e-01  2.388e-01  -2.746 0.006077
NameSpecial Additional Mortgage Recording Tax Credit                                           7.505e-01  2.393e-01   3.136 0.001736
NameSTART-UP NY Tax Elimination Credit                                                        -1.834e+00  2.565e-01  -7.151 1.14e-12
GroupAdministrative and Support and Waste Management and Remediation Services                  2.878e-01  1.360e-01   2.116 0.034417
GroupAdministrative/Support/Waste Management/Remediation Services                              1.675e-01  1.511e-01   1.109 0.267612
GroupAgriculture, Forestry, Fishing and Hunting                                               -1.132e-01  1.258e-01  -0.899 0.368486
GroupArts, Entertainment, and Recreation                                                       5.595e-01  1.251e-01   4.473 8.09e-06
GroupConstruction                                                                             -4.299e-02  1.172e-01  -0.367 0.713860
GroupEducational Services                                                                      2.253e-01  1.592e-01   1.415 0.157160
GroupFinance and Insurance                                                                     5.350e-01  1.099e-01   4.870 1.19e-06
GroupHealth Care and Social Assistance                                                        -6.777e-02  1.237e-01  -0.548 0.583720
GroupInformation                                                                               7.098e-01  1.176e-01   6.037 1.81e-09
GroupManagement of Companies and Enterprises                                                   6.672e-01  1.052e-01   6.340 2.73e-10
GroupManufacturing                                                                             4.608e-01  1.095e-01   4.208 2.67e-05
GroupMining                                                                                    2.515e-01  1.940e-01   1.296 0.194977
GroupMining, Quarrying, and Oil and Gas Extraction                                             3.869e-01  1.626e-01   2.379 0.017421
GroupOther Services (except Public Administration)                                            -1.550e-01  1.197e-01  -1.295 0.195482
GroupProfessional, Scientific, and Technical Services                                          4.875e-01  1.126e-01   4.331 1.55e-05
GroupReal Estate and Rental and Leasing                                                        1.461e-01  1.104e-01   1.324 0.185596
GroupRetail Trade                                                                              3.754e-01  1.100e-01   3.414 0.000650
GroupTransportation and Warehousing                                                            2.125e-01  1.242e-01   1.711 0.087179
GroupUtilities                                                                                 6.972e-01  1.422e-01   4.904 1.00e-06
GroupWholesale Trade                                                                           4.367e-01  1.124e-01   3.886 0.000105
Num                                                                                            4.542e-04  2.307e-04   1.969 0.049082
                                                                                                 
(Intercept)                                                                                   ***
Year                                                                                          ***
NameAlternative Fuels and Electric Vehicle Recharging Property Credit                            
NameAlternative Minimum Tax Credit                                                            ***
NameBeer Production Credit                                                                    .  
NameBrownfield Tax Credits - Redevelopment Tax Credit - On or after 6/23/08 but before 7/1/15 ***
NameBrownfield Tax Credits - Redevelopment Tax Credit - On or after 7/1/15                    ***
NameBrownfield Tax Credits - Redevelopment Tax Credit - Prior to 6/23/08                      ***
NameBrownfield Tax Credits - Remediation Real Property Tax Credit                             ***
NameClean Heating Fuel Credit                                                                 ***
NameConservation Easement Tax Credit                                                          ***
NameCredit for Employment of Persons with Disabilities                                        ***
NameCredit for Purchase of an Automated External Defibrillator                                ***
NameCredit for Taxicabs & Livery Service Vehicles Accessible to Persons with Disabilities        
NameEmpire State Apprentice Tax Credit                                                           
NameEmpire State Commercial Production Credit                                                 .  
NameEmpire State Film Post Production Credit                                                  ***
NameEmpire State Film Production Credit                                                       ***
NameEmpire State Musical and Theatrical Production Credit                                     *  
NameExcelsior Jobs Program Credit                                                             ***
NameEZ/QEZE Tax Credits - EZ Investment Tax Credit                                            ***
NameEZ/QEZE Tax Credits - EZ Wage Tax Credit                                                  ** 
NameEZ/QEZE Tax Credits - QEZE Credit for Real Property Taxes                                 ***
NameEZ/QEZE Tax Credits - QEZE Credit for Real Property Taxes For Corporate Partners          ***
NameEZ/QEZE Tax Credits - QEZE Tax Reduction Credit                                              
NameEZ/QEZE Tax Credits - QEZE Tax Reduction Credit For Corporate Partners                    .  
NameFarm Workforce Retention Credit                                                           ** 
NameFarmers' School Tax Credit                                                                ***
NameHire a Veteran Credit                                                                     *  
NameHistoric Properties Rehabilitation Credit                                                 ***
NameInvestment Tax Credit                                                                     ** 
NameInvestment Tax Credit for the Financial Services Industry                                 ***
NameLife Sciences Research & Development Tax Credit                                           .  
NameLong-Term Care Insurance Credit                                                           ***
NameLow-Income Housing Credit                                                                 ***
NameMinimum Wage Reimbursement Credit                                                         ***
NameMortgage Servicing Tax Credit                                                             *  
NameNew York Youth Jobs Program Tax Credit                                                       
NameQETC Capital Tax Credit                                                                   ***
NameQETC Employment Credit                                                                       
NameQETC Facilities, Operations, and Training Credit                                          ** 
NameReal Property Tax Relief Credit for Manufacturing                                         ** 
NameSpecial Additional Mortgage Recording Tax Credit                                          ** 
NameSTART-UP NY Tax Elimination Credit                                                        ***
GroupAdministrative and Support and Waste Management and Remediation Services                 *  
GroupAdministrative/Support/Waste Management/Remediation Services                                
GroupAgriculture, Forestry, Fishing and Hunting                                                  
GroupArts, Entertainment, and Recreation                                                      ***
GroupConstruction                                                                                
GroupEducational Services                                                                        
GroupFinance and Insurance                                                                    ***
GroupHealth Care and Social Assistance                                                           
GroupInformation                                                                              ***
GroupManagement of Companies and Enterprises                                                  ***
GroupManufacturing                                                                            ***
GroupMining                                                                                      
GroupMining, Quarrying, and Oil and Gas Extraction                                            *  
GroupOther Services (except Public Administration)                                               
GroupProfessional, Scientific, and Technical Services                                         ***
GroupReal Estate and Rental and Leasing                                                          
GroupRetail Trade                                                                             ***
GroupTransportation and Warehousing                                                           .  
GroupUtilities                                                                                ***
GroupWholesale Trade                                                                          ***
Num                                                                                           *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8703 on 2411 degrees of freedom
Multiple R-squared:  0.7631,    Adjusted R-squared:  0.7569 
F-statistic: 121.4 on 64 and 2411 DF,  p-value: < 2.2e-16

          GVIF Df GVIF^(1/(2*Df))
Year  2.190806  1        1.480137
Name  5.185764 42        1.019787
Group 2.724217 20        1.025371
Num   1.370920  1        1.170863

BIC comparison before and after BoxCox transform

BIC(income.model.bc, income.model)
BIC(industry.model.bc, industry.model)

Stepwise Regression on Income_cat_bc (boxcox transformed dataset)

colnames(dummy_func(industry_cleaned_bc))
 [1] "Year"                                                                                         
 [2] "NameAlternative_Fuels_and_Electric_Vehicle_Recharging_Property_Credit"                        
 [3] "NameAlternative_Minimum_Tax_Credit"                                                           
 [4] "NameBeer_Production_Credit"                                                                   
 [5] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___On_or_after_6_23_08_but_before_7_1_15"
 [6] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___On_or_after_7_1_15"                   
 [7] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___Prior_to_6_23_08"                     
 [8] "NameBrownfield_Tax_Credits___Remediation_Real_Property_Tax_Credit"                            
 [9] "NameClean_Heating_Fuel_Credit"                                                                
[10] "NameConservation_Easement_Tax_Credit"                                                         
[11] "NameCredit_for_Employment_of_Persons_with_Disabilities"                                       
[12] "NameCredit_for_Purchase_of_an_Automated_External_Defibrillator"                               
[13] "NameCredit_for_Taxicabs___Livery_Service_Vehicles_Accessible_to_Persons_with_Disabilities"    
[14] "NameEmpire_State_Apprentice_Tax_Credit"                                                       
[15] "NameEmpire_State_Commercial_Production_Credit"                                                
[16] "NameEmpire_State_Film_Post_Production_Credit"                                                 
[17] "NameEmpire_State_Film_Production_Credit"                                                      
[18] "NameEmpire_State_Musical_and_Theatrical_Production_Credit"                                    
[19] "NameExcelsior_Jobs_Program_Credit"                                                            
[20] "NameEZ_QEZE_Tax_Credits___EZ_Investment_Tax_Credit"                                           
[21] "NameEZ_QEZE_Tax_Credits___EZ_Wage_Tax_Credit"                                                 
[22] "NameEZ_QEZE_Tax_Credits___QEZE_Credit_for_Real_Property_Taxes"                                
[23] "NameEZ_QEZE_Tax_Credits___QEZE_Credit_for_Real_Property_Taxes_For_Corporate_Partners"         
[24] "NameEZ_QEZE_Tax_Credits___QEZE_Tax_Reduction_Credit"                                          
[25] "NameEZ_QEZE_Tax_Credits___QEZE_Tax_Reduction_Credit_For_Corporate_Partners"                   
[26] "NameFarm_Workforce_Retention_Credit"                                                          
[27] "NameFarmers__School_Tax_Credit"                                                               
[28] "NameHire_a_Veteran_Credit"                                                                    
[29] "NameHistoric_Properties_Rehabilitation_Credit"                                                
[30] "NameInvestment_Tax_Credit"                                                                    
[31] "NameInvestment_Tax_Credit_for_the_Financial_Services_Industry"                                
[32] "NameLife_Sciences_Research___Development_Tax_Credit"                                          
[33] "NameLong_Term_Care_Insurance_Credit"                                                          
[34] "NameLow_Income_Housing_Credit"                                                                
[35] "NameMinimum_Wage_Reimbursement_Credit"                                                        
[36] "NameMortgage_Servicing_Tax_Credit"                                                            
[37] "NameNew_York_Youth_Jobs_Program_Tax_Credit"                                                   
[38] "NameQETC_Capital_Tax_Credit"                                                                  
[39] "NameQETC_Employment_Credit"                                                                   
[40] "NameQETC_Facilities__Operations__and_Training_Credit"                                         
[41] "NameReal_Property_Tax_Relief_Credit_for_Manufacturing"                                        
[42] "NameSpecial_Additional_Mortgage_Recording_Tax_Credit"                                         
[43] "NameSTART_UP_NY_Tax_Elimination_Credit"                                                       
[44] "GroupAdministrative_and_Support_and_Waste_Management_and_Remediation_Services"                
[45] "GroupAdministrative_Support_Waste_Management_Remediation_Services"                            
[46] "GroupAgriculture__Forestry__Fishing_and_Hunting"                                              
[47] "GroupArts__Entertainment__and_Recreation"                                                     
[48] "GroupConstruction"                                                                            
[49] "GroupEducational_Services"                                                                    
[50] "GroupFinance_and_Insurance"                                                                   
[51] "GroupHealth_Care_and_Social_Assistance"                                                       
[52] "GroupInformation"                                                                             
[53] "GroupManagement_of_Companies_and_Enterprises"                                                 
[54] "GroupManufacturing"                                                                           
[55] "GroupMining"                                                                                  
[56] "GroupMining__Quarrying__and_Oil_and_Gas_Extraction"                                           
[57] "GroupOther_Services__except_Public_Administration_"                                           
[58] "GroupProfessional__Scientific__and_Technical_Services"                                        
[59] "GroupReal_Estate_and_Rental_and_Leasing"                                                      
[60] "GroupRetail_Trade"                                                                            
[61] "GroupTransportation_and_Warehousing"                                                          
[62] "GroupUtilities"                                                                               
[63] "GroupWholesale_Trade"                                                                         
[64] "Num"                                                                                          
[65] "Avg.bc"                                                                                       

Cleaning column names further so stepwise regression doesn’t present any errors

#Income Group Dataset
income.dummy.bc <- dummy_func(income_cleaned_bc)
#colnames(income.dummy.bc)[37] <- 'NameManufactureru0092s_Real_Property_Tax_Credit'
colnames(income.dummy.bc)

#Industry Group Dataset
industry.dummy.bc <- dummy_func(industry_cleaned_bc)
#colnames(industry.dummy.bc)[35] <- 'NameManufactureru0092s_Real_Property_Tax_Credit'
colnames(industry.dummy.bc)

Stepwise regression using BIC as the criteria (k = log(n)).

#Creating Stepwise Models
bcs = list(income = income.dummy.bc, industry = industry.dummy.bc)
model.fulls = list(income = lm(Avg.bc ~ ., data = income.dummy.bc), industry = lm(Avg.bc ~ ., data = industry.dummy.bc)) #All variables
model.emptys = list(income = lm(Avg.bc ~ 1, data = income.dummy.bc), industry = lm(Avg.bc ~ 1, data = industry.dummy.bc)) #intercept only
k = c('income', 'industry')
forwardBIC = list(income = NULL, industry = NULL)
backwardBIC = list(income = NULL, industry = NULL)

for (i in k){
  bc = bcs[[i]]
  scope = list(lower = formula(model.emptys[[i]]), upper = formula(model.fulls[[i]]))
  n_obs = bc %>% count() %>% dplyr::first()
  forwardBIC[[i]] = step(model.emptys[[i]], scope, direction = "forward", k = log(n_obs))
  backwardBIC[[i]] = step(model.fulls[[i]], scope, direction = "backward", k = log(n_obs))
}

Selecting Best Formula per Dataset from Stepwise Regressions

bic_func(forwardBIC[['income']])
[1] "Adjusted R Squared:"
[1] 0.7287541
[1] "Number of Coefficients:"
[1] 41
[1] "VIF Check: "
[1] 1.867767
[1] "*************************"
bic_func(backwardBIC[['income']])
[1] "Adjusted R Squared:"
[1] 0.7287541
[1] "Number of Coefficients:"
[1] 41
[1] "VIF Check: "
[1] 1.867767
[1] "*************************"
bic_func(forwardBIC[['industry']])
[1] "Adjusted R Squared:"
[1] 0.7532731
[1] "Number of Coefficients:"
[1] 42
[1] "VIF Check: "
[1] 1.594046
[1] "*************************"
bic_func(backwardBIC[['industry']])
[1] "Adjusted R Squared:"
[1] 0.7527448
[1] "Number of Coefficients:"
[1] 43
[1] "VIF Check: "
[1] 2.244589
[1] "*************************"

Best Model Selection from Stepwise

#The Best Models selected for both income and industry were forwardBIC.

#Income Group Dataset
income.best.formula <- forwardBIC[['income']]$call[[2]]
income.best.formula

#Industry Group Dataset
industry.best.formula <- forwardBIC[['industry']]$call[[2]]
industry.best.formula

Splitting data up into test data and training data (test data is for year 2019, training is the rest)

test_train_split <- function(dummy_bc, best.formula) {
  # data.test <- dummy_bc %>% filter(Year == 2019)
  # data.train <- dummy_bc %>% filter(Year != 2019)
  X <- model.matrix(best.formula, data = dummy_bc)[,-1]
  y <- as.matrix(dummy_bc %>% select(all.vars(best.formula)[1]))
  
  set.seed(0)
  train.i = sample(1:nrow(dummy_bc), 0.8*nrow(dummy_bc), replace = F)
  
  #train
  X.train <- X[train.i,]
  y.train <- y[train.i,]
  
  #test
  X.test <- X[-train.i,]
  y.test <- y[-train.i,]
  
  data.train <- as.data.frame(cbind(y.train, X.train))
  data.test <- as.data.frame(cbind(y.test, X.test))
  colnames(data.train)[1] = all.vars(best.formula)[1]
  colnames(data.test)[1] = all.vars(best.formula)[1]
  
  return (list('X.train' = X.train, 'y.train' = y.train, 'X.test' = X.test, 'y.test' = y.test, 'data.train' = data.train, 'data.test' = data.test))
}

Lasso regression for comparison to Forward Stepwise

# calc_MSE <- function (model, x.test, y.test){
#   y.predict <- predict(model, newdata = x.test)
#   return(mean((y.predict - y.test)^2))
# }

xy.splits <- list('income' = income.data.split, 
                  'industry' = industry.data.split, 
                  'income.sat' = income.data.split.sat, 
                  'industry.sat' = industry.data.split.sat)

lasso.list <- c('income', 'industry', 'income.sat', 'industry.sat')
baseline.list <- c('income.sat', 'industry.sat', 'income.sat', 'industry.sat')
ridge.alpha <- 0

for (a in 1:4){
  i = lasso.list[a]
  b = baseline.list[a]
  X.train <- xy.splits[[i]][['X.train']]
  y.train <- xy.splits[[i]][['y.train']]
  X.test <- xy.splits[[i]][['X.test']]
  y.test <- xy.splits[[i]][['y.test']]
  X.test.sat <- xy.splits[[b]][['X.test']]
  y.test.sat <- xy.splits[[b]][['y.test']]
  data.train <- xy.splits[[i]][['data.train']]
  data.test <- xy.splits[[i]][['data.test']]
  
  #create lambda grid
  lambda.grid = 10^seq(2, -5, length = 100)
  
  #create lasso models with lambda.grid
  lasso.models = glmnet(X.train, y.train, alpha = ridge.alpha, lambda = lambda.grid)
  
  #visualize coefficient shrinkage
  plot(lasso.models, xvar = "lambda", label = TRUE, main = paste("Lasso Regression:", i))
  
  #Cross Validation to find best lambda
  set.seed(0)
  cv.lasso.models <- cv.glmnet(X.train, y.train, alpha = ridge.alpha, lambda = lambda.grid, nfolds = 10)
  
  #visualize cross validation for lambda that minimizes the mean squared error.
  plot(cv.lasso.models, main = paste("Lasso Regression:", i))
  
  #Checking the best lambda
  log(cv.lasso.models$lambda.min)
  best.lambda <- cv.lasso.models$lambda.min
  print(paste(i, ' best.lambda:', best.lambda))
  # best lambda with all the variables was found to be 0.0006892612
  # best lambda with only the bwdBIC coefficients included was found to be 0.0003053856
  
  #looking at the lasso coefficients for the best.lambda
  best.lambda.coeff <- predict(lasso.models, s = best.lambda, type = "coefficients")
  print('Number of Coefficients:')
  print(dim(best.lambda.coeff)[1])
  
  #fitting a model with the best lambda found to be 0.000689 and using it to make predictions for the testing data.
  lasso.best.lambda.train.pred <- predict(lasso.models, s = best.lambda, newx = X.test)
  lasso.best.lambda.train.pred
  
  #checking MSE
  MSE.lasso <- mean((lasso.best.lambda.train.pred - y.test)^2)
  sat.model.bc <- lm(Avg.bc ~., data = data.train)
  
  
  temp.df <- as.data.frame(X.test.sat) #temp fix
  colnames(temp.df) <- str_replace_all(colnames(temp.df), "[`]", '')
  
  y.predict <- predict(sat.model.bc, newdata = temp.df)
  MSE.sat <- mean((y.predict - y.test.sat)^2)
  
  print(paste(i, ' Lasso MSE: ', MSE.lasso, ' ', b, ' Saturated MSE: ', MSE.sat))

  metrics <- eval_results(y.test, lasso.best.lambda.train.pred, data.test)
  print(metrics)
  print('********************************')
}

Function to show metrics (R^2 and MSE) for Regularization (Ridge/Lasso)

regularization_func(all.splits[['income.data.split.sat']], 0, 'income.data.split.sat')
 [1] "Year"                                                                                         
 [2] "NameAlternative_Fuels_and_Electric_Vehicle_Recharging_Property_Credit"                        
 [3] "NameAlternative_Minimum_Tax_Credit"                                                           
 [4] "NameBeer_Production_Credit"                                                                   
 [5] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___On_or_after_6_23_08_but_before_7_1_15"
 [6] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___On_or_after_7_1_15"                   
 [7] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___Prior_to_6_23_08"                     
 [8] "NameBrownfield_Tax_Credits___Remediation_Real_Property_Tax_Credit"                            
 [9] "NameClean_Heating_Fuel_Credit"                                                                
[10] "NameConservation_Easement_Tax_Credit"                                                         
[11] "NameCredit_for_Employment_of_Persons_with_Disabilities"                                       
[12] "NameCredit_for_Purchase_of_an_Automated_External_Defibrillator"                               
[13] "NameCredit_for_Taxicabs___Livery_Service_Vehicles_Accessible_to_Persons_with_Disabilities"    
[14] "NameEmpire_State_Apprentice_Tax_Credit"                                                       
[15] "NameEmpire_State_Commercial_Production_Credit"                                                
[16] "NameEmpire_State_Film_Post_Production_Credit"                                                 
[17] "NameEmpire_State_Film_Production_Credit"                                                      
[18] "NameEmpire_State_Musical_and_Theatrical_Production_Credit"                                    
[19] "NameExcelsior_Jobs_Program_Credit"                                                            
[20] "NameEZ_QEZE_Tax_Credits___EZ_Investment_Tax_Credit"                                           
[21] "NameEZ_QEZE_Tax_Credits___EZ_Wage_Tax_Credit"                                                 
[22] "NameEZ_QEZE_Tax_Credits___QEZE_Credit_for_Real_Property_Taxes"                                
[23] "NameEZ_QEZE_Tax_Credits___QEZE_Credit_for_Real_Property_Taxes_For_Corporate_Partners"         
[24] "NameEZ_QEZE_Tax_Credits___QEZE_Tax_Reduction_Credit"                                          
[25] "NameEZ_QEZE_Tax_Credits___QEZE_Tax_Reduction_Credit_For_Corporate_Partners"                   
[26] "NameFarm_Workforce_Retention_Credit"                                                          
[27] "NameFarmers__School_Tax_Credit"                                                               
[28] "NameHire_a_Veteran_Credit"                                                                    
[29] "NameHistoric_Properties_Rehabilitation_Credit"                                                
[30] "NameIndustrial_or_Manufacturing_Business_Tax_Credit"                                          
[31] "NameInvestment_Tax_Credit"                                                                    
[32] "NameInvestment_Tax_Credit_for_the_Financial_Services_Industry"                                
[33] "NameLife_Sciences_Research___Development_Tax_Credit"                                          
[34] "NameLong_Term_Care_Insurance_Credit"                                                          
[35] "NameLow_Income_Housing_Credit"                                                                
[36] "NameMinimum_Wage_Reimbursement_Credit"                                                        
[37] "NameMortgage_Servicing_Tax_Credit"                                                            
[38] "NameNew_York_Youth_Jobs_Program_Tax_Credit"                                                   
[39] "NameQETC_Capital_Tax_Credit"                                                                  
[40] "NameQETC_Employment_Credit"                                                                   
[41] "NameQETC_Facilities__Operations__and_Training_Credit"                                         
[42] "NameReal_Property_Tax_Relief_Credit_for_Manufacturing"                                        
[43] "NameSpecial_Additional_Mortgage_Recording_Tax_Credit"                                         
[44] "NameSTART_UP_NY_Tax_Elimination_Credit"                                                       
[45] "Group1_000_000___24_999_999"                                                                  
[46] "Group100_000___499_999"                                                                       
[47] "Group100_000_000___499_999_999"                                                               
[48] "Group25_000_000___49_999_999"                                                                 
[49] "Group50_000_000___99_999_999"                                                                 
[50] "Group500_000___999_999"                                                                       
[51] "Group500_000_000___and_over"                                                                  
[52] "GroupZero_or_Net_Loss"                                                                        
[53] "Num"                                                                                          
 [1] "Year"                                                                                         
 [2] "NameAlternative_Fuels_and_Electric_Vehicle_Recharging_Property_Credit"                        
 [3] "NameAlternative_Minimum_Tax_Credit"                                                           
 [4] "NameBeer_Production_Credit"                                                                   
 [5] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___On_or_after_6_23_08_but_before_7_1_15"
 [6] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___On_or_after_7_1_15"                   
 [7] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___Prior_to_6_23_08"                     
 [8] "NameBrownfield_Tax_Credits___Remediation_Real_Property_Tax_Credit"                            
 [9] "NameClean_Heating_Fuel_Credit"                                                                
[10] "NameConservation_Easement_Tax_Credit"                                                         
[11] "NameCredit_for_Employment_of_Persons_with_Disabilities"                                       
[12] "NameCredit_for_Purchase_of_an_Automated_External_Defibrillator"                               
[13] "NameCredit_for_Taxicabs___Livery_Service_Vehicles_Accessible_to_Persons_with_Disabilities"    
[14] "NameEmpire_State_Apprentice_Tax_Credit"                                                       
[15] "NameEmpire_State_Commercial_Production_Credit"                                                
[16] "NameEmpire_State_Film_Post_Production_Credit"                                                 
[17] "NameEmpire_State_Film_Production_Credit"                                                      
[18] "NameEmpire_State_Musical_and_Theatrical_Production_Credit"                                    
[19] "NameExcelsior_Jobs_Program_Credit"                                                            
[20] "NameEZ_QEZE_Tax_Credits___EZ_Investment_Tax_Credit"                                           
[21] "NameEZ_QEZE_Tax_Credits___EZ_Wage_Tax_Credit"                                                 
[22] "NameEZ_QEZE_Tax_Credits___QEZE_Credit_for_Real_Property_Taxes"                                
[23] "NameEZ_QEZE_Tax_Credits___QEZE_Credit_for_Real_Property_Taxes_For_Corporate_Partners"         
[24] "NameEZ_QEZE_Tax_Credits___QEZE_Tax_Reduction_Credit"                                          
[25] "NameEZ_QEZE_Tax_Credits___QEZE_Tax_Reduction_Credit_For_Corporate_Partners"                   
[26] "NameFarm_Workforce_Retention_Credit"                                                          
[27] "NameFarmers__School_Tax_Credit"                                                               
[28] "NameHire_a_Veteran_Credit"                                                                    
[29] "NameHistoric_Properties_Rehabilitation_Credit"                                                
[30] "NameIndustrial_or_Manufacturing_Business_Tax_Credit"                                          
[31] "NameInvestment_Tax_Credit"                                                                    
[32] "NameInvestment_Tax_Credit_for_the_Financial_Services_Industry"                                
[33] "NameLife_Sciences_Research___Development_Tax_Credit"                                          
[34] "NameLong_Term_Care_Insurance_Credit"                                                          
[35] "NameLow_Income_Housing_Credit"                                                                
[36] "NameMinimum_Wage_Reimbursement_Credit"                                                        
[37] "NameMortgage_Servicing_Tax_Credit"                                                            
[38] "NameNew_York_Youth_Jobs_Program_Tax_Credit"                                                   
[39] "NameQETC_Capital_Tax_Credit"                                                                  
[40] "NameQETC_Employment_Credit"                                                                   
[41] "NameQETC_Facilities__Operations__and_Training_Credit"                                         
[42] "NameReal_Property_Tax_Relief_Credit_for_Manufacturing"                                        
[43] "NameSpecial_Additional_Mortgage_Recording_Tax_Credit"                                         
[44] "NameSTART_UP_NY_Tax_Elimination_Credit"                                                       
[45] "Group1_000_000___24_999_999"                                                                  
[46] "Group100_000___499_999"                                                                       
[47] "Group100_000_000___499_999_999"                                                               
[48] "Group25_000_000___49_999_999"                                                                 
[49] "Group50_000_000___99_999_999"                                                                 
[50] "Group500_000___999_999"                                                                       
[51] "Group500_000_000___and_over"                                                                  
[52] "GroupZero_or_Net_Loss"                                                                        
[53] "Num"                                                                                          
character(0)
  Rsquare 
0.7208687 

#all.dfs <- list(income_cleaned, income_cleaned_bc, income.dummy.bc)

all.splits <- list(
  'income_cleaned' = test_train_split(income_cleaned, Avg ~ .),
  'income_cleaned_bc' = test_train_split(income_cleaned_bc, Avg.bc ~ .),
  'income.data.split.sat' = test_train_split(income.dummy.bc, Avg.bc ~ .),
  'income.data.split.best' = test_train_split(income.dummy.bc, income.best.formula)
)
#For loops initialization
formulas <- list(income_cleaned = sat.formula, income_cleaned_bc = sat.formula.bc, income.data.split.sat = sat.formula.bc, income.data.split.best = income.best.formula)

no.reg.r2 <- c() 
lasso.reg.r2 <- c()
ridge.reg.r2 <- c()


for (i in names(all.splits)) {
  #no regularization
  m = lm(formulas[[i]], all.splits[[i]][['data.train']])
  no.reg.r2 <- c(no.reg.r2, summary(m)$adj.r.squared)
  
  #lasso regularization
  lasso.reg.r2 <- c(lasso.reg.r2, regularization_func(all.splits[[i]], 1, i))
  
  #ridge regularization
  ridge.reg.r2 <- c(ridge.reg.r2, regularization_func(all.splits[[i]], 0, i))
  
}
 [1] "Year"                                                                                         
 [2] "NameAlternative Fuels and Electric Vehicle Recharging Property Credit"                        
 [3] "NameAlternative Minimum Tax Credit"                                                           
 [4] "NameBeer Production Credit"                                                                   
 [5] "NameBrownfield Tax Credits - Redevelopment Tax Credit - On or after 6/23/08 but before 7/1/15"
 [6] "NameBrownfield Tax Credits - Redevelopment Tax Credit - On or after 7/1/15"                   
 [7] "NameBrownfield Tax Credits - Redevelopment Tax Credit - Prior to 6/23/08"                     
 [8] "NameBrownfield Tax Credits - Remediation Real Property Tax Credit"                            
 [9] "NameClean Heating Fuel Credit"                                                                
[10] "NameConservation Easement Tax Credit"                                                         
[11] "NameCredit for Employment of Persons with Disabilities"                                       
[12] "NameCredit for Purchase of an Automated External Defibrillator"                               
[13] "NameCredit for Taxicabs & Livery Service Vehicles Accessible to Persons with Disabilities"    
[14] "NameEmpire State Apprentice Tax Credit"                                                       
[15] "NameEmpire State Commercial Production Credit"                                                
[16] "NameEmpire State Film Post Production Credit"                                                 
[17] "NameEmpire State Film Production Credit"                                                      
[18] "NameEmpire State Musical and Theatrical Production Credit"                                    
[19] "NameExcelsior Jobs Program Credit"                                                            
[20] "NameEZ/QEZE Tax Credits - EZ Investment Tax Credit"                                           
[21] "NameEZ/QEZE Tax Credits - EZ Wage Tax Credit"                                                 
[22] "NameEZ/QEZE Tax Credits - QEZE Credit for Real Property Taxes"                                
[23] "NameEZ/QEZE Tax Credits - QEZE Credit for Real Property Taxes For Corporate Partners"         
[24] "NameEZ/QEZE Tax Credits - QEZE Tax Reduction Credit"                                          
[25] "NameEZ/QEZE Tax Credits - QEZE Tax Reduction Credit For Corporate Partners"                   
[26] "NameFarm Workforce Retention Credit"                                                          
[27] "NameFarmers' School Tax Credit"                                                               
[28] "NameHire a Veteran Credit"                                                                    
[29] "NameHistoric Properties Rehabilitation Credit"                                                
[30] "NameIndustrial or Manufacturing Business Tax Credit"                                          
[31] "NameInvestment Tax Credit"                                                                    
[32] "NameInvestment Tax Credit for the Financial Services Industry"                                
[33] "NameLife Sciences Research & Development Tax Credit"                                          
[34] "NameLong-Term Care Insurance Credit"                                                          
[35] "NameLow-Income Housing Credit"                                                                
[36] "NameMinimum Wage Reimbursement Credit"                                                        
[37] "NameMortgage Servicing Tax Credit"                                                            
[38] "NameNew York Youth Jobs Program Tax Credit"                                                   
[39] "NameQETC Capital Tax Credit"                                                                  
[40] "NameQETC Employment Credit"                                                                   
[41] "NameQETC Facilities, Operations, and Training Credit"                                         
[42] "NameReal Property Tax Relief Credit for Manufacturing"                                        
[43] "NameSpecial Additional Mortgage Recording Tax Credit"                                         
[44] "NameSTART-UP NY Tax Elimination Credit"                                                       
[45] "Group1,000,000 - 24,999,999"                                                                  
[46] "Group100,000 - 499,999"                                                                       
[47] "Group100,000,000 - 499,999,999"                                                               
[48] "Group25,000,000 - 49,999,999"                                                                 
[49] "Group50,000,000 - 99,999,999"                                                                 
[50] "Group500,000 - 999,999"                                                                       
[51] "Group500,000,000 - and over"                                                                  
[52] "GroupZero or Net Loss"                                                                        
[53] "Num"                                                                                          
[54] "Amount"                                                                                       
 [1] "Year"                                                                                         
 [2] "NameAlternative Fuels and Electric Vehicle Recharging Property Credit"                        
 [3] "NameAlternative Minimum Tax Credit"                                                           
 [4] "NameBeer Production Credit"                                                                   
 [5] "NameBrownfield Tax Credits - Redevelopment Tax Credit - On or after 6/23/08 but before 7/1/15"
 [6] "NameBrownfield Tax Credits - Redevelopment Tax Credit - On or after 7/1/15"                   
 [7] "NameBrownfield Tax Credits - Redevelopment Tax Credit - Prior to 6/23/08"                     
 [8] "NameBrownfield Tax Credits - Remediation Real Property Tax Credit"                            
 [9] "NameClean Heating Fuel Credit"                                                                
[10] "NameConservation Easement Tax Credit"                                                         
[11] "NameCredit for Employment of Persons with Disabilities"                                       
[12] "NameCredit for Purchase of an Automated External Defibrillator"                               
[13] "NameCredit for Taxicabs & Livery Service Vehicles Accessible to Persons with Disabilities"    
[14] "NameEmpire State Apprentice Tax Credit"                                                       
[15] "NameEmpire State Commercial Production Credit"                                                
[16] "NameEmpire State Film Post Production Credit"                                                 
[17] "NameEmpire State Film Production Credit"                                                      
[18] "NameEmpire State Musical and Theatrical Production Credit"                                    
[19] "NameExcelsior Jobs Program Credit"                                                            
[20] "NameEZ/QEZE Tax Credits - EZ Investment Tax Credit"                                           
[21] "NameEZ/QEZE Tax Credits - EZ Wage Tax Credit"                                                 
[22] "NameEZ/QEZE Tax Credits - QEZE Credit for Real Property Taxes"                                
[23] "NameEZ/QEZE Tax Credits - QEZE Credit for Real Property Taxes For Corporate Partners"         
[24] "NameEZ/QEZE Tax Credits - QEZE Tax Reduction Credit"                                          
[25] "NameEZ/QEZE Tax Credits - QEZE Tax Reduction Credit For Corporate Partners"                   
[26] "NameFarm Workforce Retention Credit"                                                          
[27] "NameFarmers' School Tax Credit"                                                               
[28] "NameHire a Veteran Credit"                                                                    
[29] "NameHistoric Properties Rehabilitation Credit"                                                
[30] "NameIndustrial or Manufacturing Business Tax Credit"                                          
[31] "NameInvestment Tax Credit"                                                                    
[32] "NameInvestment Tax Credit for the Financial Services Industry"                                
[33] "NameLife Sciences Research & Development Tax Credit"                                          
[34] "NameLong-Term Care Insurance Credit"                                                          
[35] "NameLow-Income Housing Credit"                                                                
[36] "NameMinimum Wage Reimbursement Credit"                                                        
[37] "NameMortgage Servicing Tax Credit"                                                            
[38] "NameNew York Youth Jobs Program Tax Credit"                                                   
[39] "NameQETC Capital Tax Credit"                                                                  
[40] "NameQETC Employment Credit"                                                                   
[41] "NameQETC Facilities, Operations, and Training Credit"                                         
[42] "NameReal Property Tax Relief Credit for Manufacturing"                                        
[43] "NameSpecial Additional Mortgage Recording Tax Credit"                                         
[44] "NameSTART-UP NY Tax Elimination Credit"                                                       
[45] "Group1,000,000 - 24,999,999"                                                                  
[46] "Group100,000 - 499,999"                                                                       
[47] "Group100,000,000 - 499,999,999"                                                               
[48] "Group25,000,000 - 49,999,999"                                                                 
[49] "Group50,000,000 - 99,999,999"                                                                 
[50] "Group500,000 - 999,999"                                                                       
[51] "Group500,000,000 - and over"                                                                  
[52] "GroupZero or Net Loss"                                                                        
[53] "Num"                                                                                          
[54] "Amount"                                                                                       
character(0)
Warning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' values
 [1] "Year"                                                                                         
 [2] "NameAlternative Fuels and Electric Vehicle Recharging Property Credit"                        
 [3] "NameAlternative Minimum Tax Credit"                                                           
 [4] "NameBeer Production Credit"                                                                   
 [5] "NameBrownfield Tax Credits - Redevelopment Tax Credit - On or after 6/23/08 but before 7/1/15"
 [6] "NameBrownfield Tax Credits - Redevelopment Tax Credit - On or after 7/1/15"                   
 [7] "NameBrownfield Tax Credits - Redevelopment Tax Credit - Prior to 6/23/08"                     
 [8] "NameBrownfield Tax Credits - Remediation Real Property Tax Credit"                            
 [9] "NameClean Heating Fuel Credit"                                                                
[10] "NameConservation Easement Tax Credit"                                                         
[11] "NameCredit for Employment of Persons with Disabilities"                                       
[12] "NameCredit for Purchase of an Automated External Defibrillator"                               
[13] "NameCredit for Taxicabs & Livery Service Vehicles Accessible to Persons with Disabilities"    
[14] "NameEmpire State Apprentice Tax Credit"                                                       
[15] "NameEmpire State Commercial Production Credit"                                                
[16] "NameEmpire State Film Post Production Credit"                                                 
[17] "NameEmpire State Film Production Credit"                                                      
[18] "NameEmpire State Musical and Theatrical Production Credit"                                    
[19] "NameExcelsior Jobs Program Credit"                                                            
[20] "NameEZ/QEZE Tax Credits - EZ Investment Tax Credit"                                           
[21] "NameEZ/QEZE Tax Credits - EZ Wage Tax Credit"                                                 
[22] "NameEZ/QEZE Tax Credits - QEZE Credit for Real Property Taxes"                                
[23] "NameEZ/QEZE Tax Credits - QEZE Credit for Real Property Taxes For Corporate Partners"         
[24] "NameEZ/QEZE Tax Credits - QEZE Tax Reduction Credit"                                          
[25] "NameEZ/QEZE Tax Credits - QEZE Tax Reduction Credit For Corporate Partners"                   
[26] "NameFarm Workforce Retention Credit"                                                          
[27] "NameFarmers' School Tax Credit"                                                               
[28] "NameHire a Veteran Credit"                                                                    
[29] "NameHistoric Properties Rehabilitation Credit"                                                
[30] "NameIndustrial or Manufacturing Business Tax Credit"                                          
[31] "NameInvestment Tax Credit"                                                                    
[32] "NameInvestment Tax Credit for the Financial Services Industry"                                
[33] "NameLife Sciences Research & Development Tax Credit"                                          
[34] "NameLong-Term Care Insurance Credit"                                                          
[35] "NameLow-Income Housing Credit"                                                                
[36] "NameMinimum Wage Reimbursement Credit"                                                        
[37] "NameMortgage Servicing Tax Credit"                                                            
[38] "NameNew York Youth Jobs Program Tax Credit"                                                   
[39] "NameQETC Capital Tax Credit"                                                                  
[40] "NameQETC Employment Credit"                                                                   
[41] "NameQETC Facilities, Operations, and Training Credit"                                         
[42] "NameReal Property Tax Relief Credit for Manufacturing"                                        
[43] "NameSpecial Additional Mortgage Recording Tax Credit"                                         
[44] "NameSTART-UP NY Tax Elimination Credit"                                                       
[45] "Group1,000,000 - 24,999,999"                                                                  
[46] "Group100,000 - 499,999"                                                                       
[47] "Group100,000,000 - 499,999,999"                                                               
[48] "Group25,000,000 - 49,999,999"                                                                 
[49] "Group50,000,000 - 99,999,999"                                                                 
[50] "Group500,000 - 999,999"                                                                       
[51] "Group500,000,000 - and over"                                                                  
[52] "GroupZero or Net Loss"                                                                        
[53] "Num"                                                                                          
[54] "Amount"                                                                                       
 [1] "Year"                                                                                         
 [2] "NameAlternative Fuels and Electric Vehicle Recharging Property Credit"                        
 [3] "NameAlternative Minimum Tax Credit"                                                           
 [4] "NameBeer Production Credit"                                                                   
 [5] "NameBrownfield Tax Credits - Redevelopment Tax Credit - On or after 6/23/08 but before 7/1/15"
 [6] "NameBrownfield Tax Credits - Redevelopment Tax Credit - On or after 7/1/15"                   
 [7] "NameBrownfield Tax Credits - Redevelopment Tax Credit - Prior to 6/23/08"                     
 [8] "NameBrownfield Tax Credits - Remediation Real Property Tax Credit"                            
 [9] "NameClean Heating Fuel Credit"                                                                
[10] "NameConservation Easement Tax Credit"                                                         
[11] "NameCredit for Employment of Persons with Disabilities"                                       
[12] "NameCredit for Purchase of an Automated External Defibrillator"                               
[13] "NameCredit for Taxicabs & Livery Service Vehicles Accessible to Persons with Disabilities"    
[14] "NameEmpire State Apprentice Tax Credit"                                                       
[15] "NameEmpire State Commercial Production Credit"                                                
[16] "NameEmpire State Film Post Production Credit"                                                 
[17] "NameEmpire State Film Production Credit"                                                      
[18] "NameEmpire State Musical and Theatrical Production Credit"                                    
[19] "NameExcelsior Jobs Program Credit"                                                            
[20] "NameEZ/QEZE Tax Credits - EZ Investment Tax Credit"                                           
[21] "NameEZ/QEZE Tax Credits - EZ Wage Tax Credit"                                                 
[22] "NameEZ/QEZE Tax Credits - QEZE Credit for Real Property Taxes"                                
[23] "NameEZ/QEZE Tax Credits - QEZE Credit for Real Property Taxes For Corporate Partners"         
[24] "NameEZ/QEZE Tax Credits - QEZE Tax Reduction Credit"                                          
[25] "NameEZ/QEZE Tax Credits - QEZE Tax Reduction Credit For Corporate Partners"                   
[26] "NameFarm Workforce Retention Credit"                                                          
[27] "NameFarmers' School Tax Credit"                                                               
[28] "NameHire a Veteran Credit"                                                                    
[29] "NameHistoric Properties Rehabilitation Credit"                                                
[30] "NameIndustrial or Manufacturing Business Tax Credit"                                          
[31] "NameInvestment Tax Credit"                                                                    
[32] "NameInvestment Tax Credit for the Financial Services Industry"                                
[33] "NameLife Sciences Research & Development Tax Credit"                                          
[34] "NameLong-Term Care Insurance Credit"                                                          
[35] "NameLow-Income Housing Credit"                                                                
[36] "NameMinimum Wage Reimbursement Credit"                                                        
[37] "NameMortgage Servicing Tax Credit"                                                            
[38] "NameNew York Youth Jobs Program Tax Credit"                                                   
[39] "NameQETC Capital Tax Credit"                                                                  
[40] "NameQETC Employment Credit"                                                                   
[41] "NameQETC Facilities, Operations, and Training Credit"                                         
[42] "NameReal Property Tax Relief Credit for Manufacturing"                                        
[43] "NameSpecial Additional Mortgage Recording Tax Credit"                                         
[44] "NameSTART-UP NY Tax Elimination Credit"                                                       
[45] "Group1,000,000 - 24,999,999"                                                                  
[46] "Group100,000 - 499,999"                                                                       
[47] "Group100,000,000 - 499,999,999"                                                               
[48] "Group25,000,000 - 49,999,999"                                                                 
[49] "Group50,000,000 - 99,999,999"                                                                 
[50] "Group500,000 - 999,999"                                                                       
[51] "Group500,000,000 - and over"                                                                  
[52] "GroupZero or Net Loss"                                                                        
[53] "Num"                                                                                          
[54] "Amount"                                                                                       
character(0)

Warning: collapsing to unique 'x' values
 [1] "Year"                                                                                         
 [2] "NameAlternative Fuels and Electric Vehicle Recharging Property Credit"                        
 [3] "NameAlternative Minimum Tax Credit"                                                           
 [4] "NameBeer Production Credit"                                                                   
 [5] "NameBrownfield Tax Credits - Redevelopment Tax Credit - On or after 6/23/08 but before 7/1/15"
 [6] "NameBrownfield Tax Credits - Redevelopment Tax Credit - On or after 7/1/15"                   
 [7] "NameBrownfield Tax Credits - Redevelopment Tax Credit - Prior to 6/23/08"                     
 [8] "NameBrownfield Tax Credits - Remediation Real Property Tax Credit"                            
 [9] "NameClean Heating Fuel Credit"                                                                
[10] "NameConservation Easement Tax Credit"                                                         
[11] "NameCredit for Employment of Persons with Disabilities"                                       
[12] "NameCredit for Purchase of an Automated External Defibrillator"                               
[13] "NameCredit for Taxicabs & Livery Service Vehicles Accessible to Persons with Disabilities"    
[14] "NameEmpire State Apprentice Tax Credit"                                                       
[15] "NameEmpire State Commercial Production Credit"                                                
[16] "NameEmpire State Film Post Production Credit"                                                 
[17] "NameEmpire State Film Production Credit"                                                      
[18] "NameEmpire State Musical and Theatrical Production Credit"                                    
[19] "NameExcelsior Jobs Program Credit"                                                            
[20] "NameEZ/QEZE Tax Credits - EZ Investment Tax Credit"                                           
[21] "NameEZ/QEZE Tax Credits - EZ Wage Tax Credit"                                                 
[22] "NameEZ/QEZE Tax Credits - QEZE Credit for Real Property Taxes"                                
[23] "NameEZ/QEZE Tax Credits - QEZE Credit for Real Property Taxes For Corporate Partners"         
[24] "NameEZ/QEZE Tax Credits - QEZE Tax Reduction Credit"                                          
[25] "NameEZ/QEZE Tax Credits - QEZE Tax Reduction Credit For Corporate Partners"                   
[26] "NameFarm Workforce Retention Credit"                                                          
[27] "NameFarmers' School Tax Credit"                                                               
[28] "NameHire a Veteran Credit"                                                                    
[29] "NameHistoric Properties Rehabilitation Credit"                                                
[30] "NameIndustrial or Manufacturing Business Tax Credit"                                          
[31] "NameInvestment Tax Credit"                                                                    
[32] "NameInvestment Tax Credit for the Financial Services Industry"                                
[33] "NameLife Sciences Research & Development Tax Credit"                                          
[34] "NameLong-Term Care Insurance Credit"                                                          
[35] "NameLow-Income Housing Credit"                                                                
[36] "NameMinimum Wage Reimbursement Credit"                                                        
[37] "NameMortgage Servicing Tax Credit"                                                            
[38] "NameNew York Youth Jobs Program Tax Credit"                                                   
[39] "NameQETC Capital Tax Credit"                                                                  
[40] "NameQETC Employment Credit"                                                                   
[41] "NameQETC Facilities, Operations, and Training Credit"                                         
[42] "NameReal Property Tax Relief Credit for Manufacturing"                                        
[43] "NameSpecial Additional Mortgage Recording Tax Credit"                                         
[44] "NameSTART-UP NY Tax Elimination Credit"                                                       
[45] "Group1,000,000 - 24,999,999"                                                                  
[46] "Group100,000 - 499,999"                                                                       
[47] "Group100,000,000 - 499,999,999"                                                               
[48] "Group25,000,000 - 49,999,999"                                                                 
[49] "Group50,000,000 - 99,999,999"                                                                 
[50] "Group500,000 - 999,999"                                                                       
[51] "Group500,000,000 - and over"                                                                  
[52] "GroupZero or Net Loss"                                                                        
[53] "Num"                                                                                          
 [1] "Year"                                                                                         
 [2] "NameAlternative Fuels and Electric Vehicle Recharging Property Credit"                        
 [3] "NameAlternative Minimum Tax Credit"                                                           
 [4] "NameBeer Production Credit"                                                                   
 [5] "NameBrownfield Tax Credits - Redevelopment Tax Credit - On or after 6/23/08 but before 7/1/15"
 [6] "NameBrownfield Tax Credits - Redevelopment Tax Credit - On or after 7/1/15"                   
 [7] "NameBrownfield Tax Credits - Redevelopment Tax Credit - Prior to 6/23/08"                     
 [8] "NameBrownfield Tax Credits - Remediation Real Property Tax Credit"                            
 [9] "NameClean Heating Fuel Credit"                                                                
[10] "NameConservation Easement Tax Credit"                                                         
[11] "NameCredit for Employment of Persons with Disabilities"                                       
[12] "NameCredit for Purchase of an Automated External Defibrillator"                               
[13] "NameCredit for Taxicabs & Livery Service Vehicles Accessible to Persons with Disabilities"    
[14] "NameEmpire State Apprentice Tax Credit"                                                       
[15] "NameEmpire State Commercial Production Credit"                                                
[16] "NameEmpire State Film Post Production Credit"                                                 
[17] "NameEmpire State Film Production Credit"                                                      
[18] "NameEmpire State Musical and Theatrical Production Credit"                                    
[19] "NameExcelsior Jobs Program Credit"                                                            
[20] "NameEZ/QEZE Tax Credits - EZ Investment Tax Credit"                                           
[21] "NameEZ/QEZE Tax Credits - EZ Wage Tax Credit"                                                 
[22] "NameEZ/QEZE Tax Credits - QEZE Credit for Real Property Taxes"                                
[23] "NameEZ/QEZE Tax Credits - QEZE Credit for Real Property Taxes For Corporate Partners"         
[24] "NameEZ/QEZE Tax Credits - QEZE Tax Reduction Credit"                                          
[25] "NameEZ/QEZE Tax Credits - QEZE Tax Reduction Credit For Corporate Partners"                   
[26] "NameFarm Workforce Retention Credit"                                                          
[27] "NameFarmers' School Tax Credit"                                                               
[28] "NameHire a Veteran Credit"                                                                    
[29] "NameHistoric Properties Rehabilitation Credit"                                                
[30] "NameIndustrial or Manufacturing Business Tax Credit"                                          
[31] "NameInvestment Tax Credit"                                                                    
[32] "NameInvestment Tax Credit for the Financial Services Industry"                                
[33] "NameLife Sciences Research & Development Tax Credit"                                          
[34] "NameLong-Term Care Insurance Credit"                                                          
[35] "NameLow-Income Housing Credit"                                                                
[36] "NameMinimum Wage Reimbursement Credit"                                                        
[37] "NameMortgage Servicing Tax Credit"                                                            
[38] "NameNew York Youth Jobs Program Tax Credit"                                                   
[39] "NameQETC Capital Tax Credit"                                                                  
[40] "NameQETC Employment Credit"                                                                   
[41] "NameQETC Facilities, Operations, and Training Credit"                                         
[42] "NameReal Property Tax Relief Credit for Manufacturing"                                        
[43] "NameSpecial Additional Mortgage Recording Tax Credit"                                         
[44] "NameSTART-UP NY Tax Elimination Credit"                                                       
[45] "Group1,000,000 - 24,999,999"                                                                  
[46] "Group100,000 - 499,999"                                                                       
[47] "Group100,000,000 - 499,999,999"                                                               
[48] "Group25,000,000 - 49,999,999"                                                                 
[49] "Group50,000,000 - 99,999,999"                                                                 
[50] "Group500,000 - 999,999"                                                                       
[51] "Group500,000,000 - and over"                                                                  
[52] "GroupZero or Net Loss"                                                                        
[53] "Num"                                                                                          
character(0)
Warning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' values

Warning: collapsing to unique 'x' values
 [1] "Year"                                                                                         
 [2] "NameAlternative Fuels and Electric Vehicle Recharging Property Credit"                        
 [3] "NameAlternative Minimum Tax Credit"                                                           
 [4] "NameBeer Production Credit"                                                                   
 [5] "NameBrownfield Tax Credits - Redevelopment Tax Credit - On or after 6/23/08 but before 7/1/15"
 [6] "NameBrownfield Tax Credits - Redevelopment Tax Credit - On or after 7/1/15"                   
 [7] "NameBrownfield Tax Credits - Redevelopment Tax Credit - Prior to 6/23/08"                     
 [8] "NameBrownfield Tax Credits - Remediation Real Property Tax Credit"                            
 [9] "NameClean Heating Fuel Credit"                                                                
[10] "NameConservation Easement Tax Credit"                                                         
[11] "NameCredit for Employment of Persons with Disabilities"                                       
[12] "NameCredit for Purchase of an Automated External Defibrillator"                               
[13] "NameCredit for Taxicabs & Livery Service Vehicles Accessible to Persons with Disabilities"    
[14] "NameEmpire State Apprentice Tax Credit"                                                       
[15] "NameEmpire State Commercial Production Credit"                                                
[16] "NameEmpire State Film Post Production Credit"                                                 
[17] "NameEmpire State Film Production Credit"                                                      
[18] "NameEmpire State Musical and Theatrical Production Credit"                                    
[19] "NameExcelsior Jobs Program Credit"                                                            
[20] "NameEZ/QEZE Tax Credits - EZ Investment Tax Credit"                                           
[21] "NameEZ/QEZE Tax Credits - EZ Wage Tax Credit"                                                 
[22] "NameEZ/QEZE Tax Credits - QEZE Credit for Real Property Taxes"                                
[23] "NameEZ/QEZE Tax Credits - QEZE Credit for Real Property Taxes For Corporate Partners"         
[24] "NameEZ/QEZE Tax Credits - QEZE Tax Reduction Credit"                                          
[25] "NameEZ/QEZE Tax Credits - QEZE Tax Reduction Credit For Corporate Partners"                   
[26] "NameFarm Workforce Retention Credit"                                                          
[27] "NameFarmers' School Tax Credit"                                                               
[28] "NameHire a Veteran Credit"                                                                    
[29] "NameHistoric Properties Rehabilitation Credit"                                                
[30] "NameIndustrial or Manufacturing Business Tax Credit"                                          
[31] "NameInvestment Tax Credit"                                                                    
[32] "NameInvestment Tax Credit for the Financial Services Industry"                                
[33] "NameLife Sciences Research & Development Tax Credit"                                          
[34] "NameLong-Term Care Insurance Credit"                                                          
[35] "NameLow-Income Housing Credit"                                                                
[36] "NameMinimum Wage Reimbursement Credit"                                                        
[37] "NameMortgage Servicing Tax Credit"                                                            
[38] "NameNew York Youth Jobs Program Tax Credit"                                                   
[39] "NameQETC Capital Tax Credit"                                                                  
[40] "NameQETC Employment Credit"                                                                   
[41] "NameQETC Facilities, Operations, and Training Credit"                                         
[42] "NameReal Property Tax Relief Credit for Manufacturing"                                        
[43] "NameSpecial Additional Mortgage Recording Tax Credit"                                         
[44] "NameSTART-UP NY Tax Elimination Credit"                                                       
[45] "Group1,000,000 - 24,999,999"                                                                  
[46] "Group100,000 - 499,999"                                                                       
[47] "Group100,000,000 - 499,999,999"                                                               
[48] "Group25,000,000 - 49,999,999"                                                                 
[49] "Group50,000,000 - 99,999,999"                                                                 
[50] "Group500,000 - 999,999"                                                                       
[51] "Group500,000,000 - and over"                                                                  
[52] "GroupZero or Net Loss"                                                                        
[53] "Num"                                                                                          
 [1] "Year"                                                                                         
 [2] "NameAlternative Fuels and Electric Vehicle Recharging Property Credit"                        
 [3] "NameAlternative Minimum Tax Credit"                                                           
 [4] "NameBeer Production Credit"                                                                   
 [5] "NameBrownfield Tax Credits - Redevelopment Tax Credit - On or after 6/23/08 but before 7/1/15"
 [6] "NameBrownfield Tax Credits - Redevelopment Tax Credit - On or after 7/1/15"                   
 [7] "NameBrownfield Tax Credits - Redevelopment Tax Credit - Prior to 6/23/08"                     
 [8] "NameBrownfield Tax Credits - Remediation Real Property Tax Credit"                            
 [9] "NameClean Heating Fuel Credit"                                                                
[10] "NameConservation Easement Tax Credit"                                                         
[11] "NameCredit for Employment of Persons with Disabilities"                                       
[12] "NameCredit for Purchase of an Automated External Defibrillator"                               
[13] "NameCredit for Taxicabs & Livery Service Vehicles Accessible to Persons with Disabilities"    
[14] "NameEmpire State Apprentice Tax Credit"                                                       
[15] "NameEmpire State Commercial Production Credit"                                                
[16] "NameEmpire State Film Post Production Credit"                                                 
[17] "NameEmpire State Film Production Credit"                                                      
[18] "NameEmpire State Musical and Theatrical Production Credit"                                    
[19] "NameExcelsior Jobs Program Credit"                                                            
[20] "NameEZ/QEZE Tax Credits - EZ Investment Tax Credit"                                           
[21] "NameEZ/QEZE Tax Credits - EZ Wage Tax Credit"                                                 
[22] "NameEZ/QEZE Tax Credits - QEZE Credit for Real Property Taxes"                                
[23] "NameEZ/QEZE Tax Credits - QEZE Credit for Real Property Taxes For Corporate Partners"         
[24] "NameEZ/QEZE Tax Credits - QEZE Tax Reduction Credit"                                          
[25] "NameEZ/QEZE Tax Credits - QEZE Tax Reduction Credit For Corporate Partners"                   
[26] "NameFarm Workforce Retention Credit"                                                          
[27] "NameFarmers' School Tax Credit"                                                               
[28] "NameHire a Veteran Credit"                                                                    
[29] "NameHistoric Properties Rehabilitation Credit"                                                
[30] "NameIndustrial or Manufacturing Business Tax Credit"                                          
[31] "NameInvestment Tax Credit"                                                                    
[32] "NameInvestment Tax Credit for the Financial Services Industry"                                
[33] "NameLife Sciences Research & Development Tax Credit"                                          
[34] "NameLong-Term Care Insurance Credit"                                                          
[35] "NameLow-Income Housing Credit"                                                                
[36] "NameMinimum Wage Reimbursement Credit"                                                        
[37] "NameMortgage Servicing Tax Credit"                                                            
[38] "NameNew York Youth Jobs Program Tax Credit"                                                   
[39] "NameQETC Capital Tax Credit"                                                                  
[40] "NameQETC Employment Credit"                                                                   
[41] "NameQETC Facilities, Operations, and Training Credit"                                         
[42] "NameReal Property Tax Relief Credit for Manufacturing"                                        
[43] "NameSpecial Additional Mortgage Recording Tax Credit"                                         
[44] "NameSTART-UP NY Tax Elimination Credit"                                                       
[45] "Group1,000,000 - 24,999,999"                                                                  
[46] "Group100,000 - 499,999"                                                                       
[47] "Group100,000,000 - 499,999,999"                                                               
[48] "Group25,000,000 - 49,999,999"                                                                 
[49] "Group50,000,000 - 99,999,999"                                                                 
[50] "Group500,000 - 999,999"                                                                       
[51] "Group500,000,000 - and over"                                                                  
[52] "GroupZero or Net Loss"                                                                        
[53] "Num"                                                                                          
character(0)
Warning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' values

Warning: collapsing to unique 'x' values
 [1] "Year"                                                                                         
 [2] "NameAlternative_Fuels_and_Electric_Vehicle_Recharging_Property_Credit"                        
 [3] "NameAlternative_Minimum_Tax_Credit"                                                           
 [4] "NameBeer_Production_Credit"                                                                   
 [5] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___On_or_after_6_23_08_but_before_7_1_15"
 [6] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___On_or_after_7_1_15"                   
 [7] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___Prior_to_6_23_08"                     
 [8] "NameBrownfield_Tax_Credits___Remediation_Real_Property_Tax_Credit"                            
 [9] "NameClean_Heating_Fuel_Credit"                                                                
[10] "NameConservation_Easement_Tax_Credit"                                                         
[11] "NameCredit_for_Employment_of_Persons_with_Disabilities"                                       
[12] "NameCredit_for_Purchase_of_an_Automated_External_Defibrillator"                               
[13] "NameCredit_for_Taxicabs___Livery_Service_Vehicles_Accessible_to_Persons_with_Disabilities"    
[14] "NameEmpire_State_Apprentice_Tax_Credit"                                                       
[15] "NameEmpire_State_Commercial_Production_Credit"                                                
[16] "NameEmpire_State_Film_Post_Production_Credit"                                                 
[17] "NameEmpire_State_Film_Production_Credit"                                                      
[18] "NameEmpire_State_Musical_and_Theatrical_Production_Credit"                                    
[19] "NameExcelsior_Jobs_Program_Credit"                                                            
[20] "NameEZ_QEZE_Tax_Credits___EZ_Investment_Tax_Credit"                                           
[21] "NameEZ_QEZE_Tax_Credits___EZ_Wage_Tax_Credit"                                                 
[22] "NameEZ_QEZE_Tax_Credits___QEZE_Credit_for_Real_Property_Taxes"                                
[23] "NameEZ_QEZE_Tax_Credits___QEZE_Credit_for_Real_Property_Taxes_For_Corporate_Partners"         
[24] "NameEZ_QEZE_Tax_Credits___QEZE_Tax_Reduction_Credit"                                          
[25] "NameEZ_QEZE_Tax_Credits___QEZE_Tax_Reduction_Credit_For_Corporate_Partners"                   
[26] "NameFarm_Workforce_Retention_Credit"                                                          
[27] "NameFarmers__School_Tax_Credit"                                                               
[28] "NameHire_a_Veteran_Credit"                                                                    
[29] "NameHistoric_Properties_Rehabilitation_Credit"                                                
[30] "NameIndustrial_or_Manufacturing_Business_Tax_Credit"                                          
[31] "NameInvestment_Tax_Credit"                                                                    
[32] "NameInvestment_Tax_Credit_for_the_Financial_Services_Industry"                                
[33] "NameLife_Sciences_Research___Development_Tax_Credit"                                          
[34] "NameLong_Term_Care_Insurance_Credit"                                                          
[35] "NameLow_Income_Housing_Credit"                                                                
[36] "NameMinimum_Wage_Reimbursement_Credit"                                                        
[37] "NameMortgage_Servicing_Tax_Credit"                                                            
[38] "NameNew_York_Youth_Jobs_Program_Tax_Credit"                                                   
[39] "NameQETC_Capital_Tax_Credit"                                                                  
[40] "NameQETC_Employment_Credit"                                                                   
[41] "NameQETC_Facilities__Operations__and_Training_Credit"                                         
[42] "NameReal_Property_Tax_Relief_Credit_for_Manufacturing"                                        
[43] "NameSpecial_Additional_Mortgage_Recording_Tax_Credit"                                         
[44] "NameSTART_UP_NY_Tax_Elimination_Credit"                                                       
[45] "Group1_000_000___24_999_999"                                                                  
[46] "Group100_000___499_999"                                                                       
[47] "Group100_000_000___499_999_999"                                                               
[48] "Group25_000_000___49_999_999"                                                                 
[49] "Group50_000_000___99_999_999"                                                                 
[50] "Group500_000___999_999"                                                                       
[51] "Group500_000_000___and_over"                                                                  
[52] "GroupZero_or_Net_Loss"                                                                        
[53] "Num"                                                                                          
 [1] "Year"                                                                                         
 [2] "NameAlternative_Fuels_and_Electric_Vehicle_Recharging_Property_Credit"                        
 [3] "NameAlternative_Minimum_Tax_Credit"                                                           
 [4] "NameBeer_Production_Credit"                                                                   
 [5] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___On_or_after_6_23_08_but_before_7_1_15"
 [6] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___On_or_after_7_1_15"                   
 [7] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___Prior_to_6_23_08"                     
 [8] "NameBrownfield_Tax_Credits___Remediation_Real_Property_Tax_Credit"                            
 [9] "NameClean_Heating_Fuel_Credit"                                                                
[10] "NameConservation_Easement_Tax_Credit"                                                         
[11] "NameCredit_for_Employment_of_Persons_with_Disabilities"                                       
[12] "NameCredit_for_Purchase_of_an_Automated_External_Defibrillator"                               
[13] "NameCredit_for_Taxicabs___Livery_Service_Vehicles_Accessible_to_Persons_with_Disabilities"    
[14] "NameEmpire_State_Apprentice_Tax_Credit"                                                       
[15] "NameEmpire_State_Commercial_Production_Credit"                                                
[16] "NameEmpire_State_Film_Post_Production_Credit"                                                 
[17] "NameEmpire_State_Film_Production_Credit"                                                      
[18] "NameEmpire_State_Musical_and_Theatrical_Production_Credit"                                    
[19] "NameExcelsior_Jobs_Program_Credit"                                                            
[20] "NameEZ_QEZE_Tax_Credits___EZ_Investment_Tax_Credit"                                           
[21] "NameEZ_QEZE_Tax_Credits___EZ_Wage_Tax_Credit"                                                 
[22] "NameEZ_QEZE_Tax_Credits___QEZE_Credit_for_Real_Property_Taxes"                                
[23] "NameEZ_QEZE_Tax_Credits___QEZE_Credit_for_Real_Property_Taxes_For_Corporate_Partners"         
[24] "NameEZ_QEZE_Tax_Credits___QEZE_Tax_Reduction_Credit"                                          
[25] "NameEZ_QEZE_Tax_Credits___QEZE_Tax_Reduction_Credit_For_Corporate_Partners"                   
[26] "NameFarm_Workforce_Retention_Credit"                                                          
[27] "NameFarmers__School_Tax_Credit"                                                               
[28] "NameHire_a_Veteran_Credit"                                                                    
[29] "NameHistoric_Properties_Rehabilitation_Credit"                                                
[30] "NameIndustrial_or_Manufacturing_Business_Tax_Credit"                                          
[31] "NameInvestment_Tax_Credit"                                                                    
[32] "NameInvestment_Tax_Credit_for_the_Financial_Services_Industry"                                
[33] "NameLife_Sciences_Research___Development_Tax_Credit"                                          
[34] "NameLong_Term_Care_Insurance_Credit"                                                          
[35] "NameLow_Income_Housing_Credit"                                                                
[36] "NameMinimum_Wage_Reimbursement_Credit"                                                        
[37] "NameMortgage_Servicing_Tax_Credit"                                                            
[38] "NameNew_York_Youth_Jobs_Program_Tax_Credit"                                                   
[39] "NameQETC_Capital_Tax_Credit"                                                                  
[40] "NameQETC_Employment_Credit"                                                                   
[41] "NameQETC_Facilities__Operations__and_Training_Credit"                                         
[42] "NameReal_Property_Tax_Relief_Credit_for_Manufacturing"                                        
[43] "NameSpecial_Additional_Mortgage_Recording_Tax_Credit"                                         
[44] "NameSTART_UP_NY_Tax_Elimination_Credit"                                                       
[45] "Group1_000_000___24_999_999"                                                                  
[46] "Group100_000___499_999"                                                                       
[47] "Group100_000_000___499_999_999"                                                               
[48] "Group25_000_000___49_999_999"                                                                 
[49] "Group50_000_000___99_999_999"                                                                 
[50] "Group500_000___999_999"                                                                       
[51] "Group500_000_000___and_over"                                                                  
[52] "GroupZero_or_Net_Loss"                                                                        
[53] "Num"                                                                                          
character(0)
Warning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' values

Warning: collapsing to unique 'x' values
 [1] "Year"                                                                                         
 [2] "NameAlternative_Fuels_and_Electric_Vehicle_Recharging_Property_Credit"                        
 [3] "NameAlternative_Minimum_Tax_Credit"                                                           
 [4] "NameBeer_Production_Credit"                                                                   
 [5] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___On_or_after_6_23_08_but_before_7_1_15"
 [6] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___On_or_after_7_1_15"                   
 [7] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___Prior_to_6_23_08"                     
 [8] "NameBrownfield_Tax_Credits___Remediation_Real_Property_Tax_Credit"                            
 [9] "NameClean_Heating_Fuel_Credit"                                                                
[10] "NameConservation_Easement_Tax_Credit"                                                         
[11] "NameCredit_for_Employment_of_Persons_with_Disabilities"                                       
[12] "NameCredit_for_Purchase_of_an_Automated_External_Defibrillator"                               
[13] "NameCredit_for_Taxicabs___Livery_Service_Vehicles_Accessible_to_Persons_with_Disabilities"    
[14] "NameEmpire_State_Apprentice_Tax_Credit"                                                       
[15] "NameEmpire_State_Commercial_Production_Credit"                                                
[16] "NameEmpire_State_Film_Post_Production_Credit"                                                 
[17] "NameEmpire_State_Film_Production_Credit"                                                      
[18] "NameEmpire_State_Musical_and_Theatrical_Production_Credit"                                    
[19] "NameExcelsior_Jobs_Program_Credit"                                                            
[20] "NameEZ_QEZE_Tax_Credits___EZ_Investment_Tax_Credit"                                           
[21] "NameEZ_QEZE_Tax_Credits___EZ_Wage_Tax_Credit"                                                 
[22] "NameEZ_QEZE_Tax_Credits___QEZE_Credit_for_Real_Property_Taxes"                                
[23] "NameEZ_QEZE_Tax_Credits___QEZE_Credit_for_Real_Property_Taxes_For_Corporate_Partners"         
[24] "NameEZ_QEZE_Tax_Credits___QEZE_Tax_Reduction_Credit"                                          
[25] "NameEZ_QEZE_Tax_Credits___QEZE_Tax_Reduction_Credit_For_Corporate_Partners"                   
[26] "NameFarm_Workforce_Retention_Credit"                                                          
[27] "NameFarmers__School_Tax_Credit"                                                               
[28] "NameHire_a_Veteran_Credit"                                                                    
[29] "NameHistoric_Properties_Rehabilitation_Credit"                                                
[30] "NameIndustrial_or_Manufacturing_Business_Tax_Credit"                                          
[31] "NameInvestment_Tax_Credit"                                                                    
[32] "NameInvestment_Tax_Credit_for_the_Financial_Services_Industry"                                
[33] "NameLife_Sciences_Research___Development_Tax_Credit"                                          
[34] "NameLong_Term_Care_Insurance_Credit"                                                          
[35] "NameLow_Income_Housing_Credit"                                                                
[36] "NameMinimum_Wage_Reimbursement_Credit"                                                        
[37] "NameMortgage_Servicing_Tax_Credit"                                                            
[38] "NameNew_York_Youth_Jobs_Program_Tax_Credit"                                                   
[39] "NameQETC_Capital_Tax_Credit"                                                                  
[40] "NameQETC_Employment_Credit"                                                                   
[41] "NameQETC_Facilities__Operations__and_Training_Credit"                                         
[42] "NameReal_Property_Tax_Relief_Credit_for_Manufacturing"                                        
[43] "NameSpecial_Additional_Mortgage_Recording_Tax_Credit"                                         
[44] "NameSTART_UP_NY_Tax_Elimination_Credit"                                                       
[45] "Group1_000_000___24_999_999"                                                                  
[46] "Group100_000___499_999"                                                                       
[47] "Group100_000_000___499_999_999"                                                               
[48] "Group25_000_000___49_999_999"                                                                 
[49] "Group50_000_000___99_999_999"                                                                 
[50] "Group500_000___999_999"                                                                       
[51] "Group500_000_000___and_over"                                                                  
[52] "GroupZero_or_Net_Loss"                                                                        
[53] "Num"                                                                                          
 [1] "Year"                                                                                         
 [2] "NameAlternative_Fuels_and_Electric_Vehicle_Recharging_Property_Credit"                        
 [3] "NameAlternative_Minimum_Tax_Credit"                                                           
 [4] "NameBeer_Production_Credit"                                                                   
 [5] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___On_or_after_6_23_08_but_before_7_1_15"
 [6] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___On_or_after_7_1_15"                   
 [7] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___Prior_to_6_23_08"                     
 [8] "NameBrownfield_Tax_Credits___Remediation_Real_Property_Tax_Credit"                            
 [9] "NameClean_Heating_Fuel_Credit"                                                                
[10] "NameConservation_Easement_Tax_Credit"                                                         
[11] "NameCredit_for_Employment_of_Persons_with_Disabilities"                                       
[12] "NameCredit_for_Purchase_of_an_Automated_External_Defibrillator"                               
[13] "NameCredit_for_Taxicabs___Livery_Service_Vehicles_Accessible_to_Persons_with_Disabilities"    
[14] "NameEmpire_State_Apprentice_Tax_Credit"                                                       
[15] "NameEmpire_State_Commercial_Production_Credit"                                                
[16] "NameEmpire_State_Film_Post_Production_Credit"                                                 
[17] "NameEmpire_State_Film_Production_Credit"                                                      
[18] "NameEmpire_State_Musical_and_Theatrical_Production_Credit"                                    
[19] "NameExcelsior_Jobs_Program_Credit"                                                            
[20] "NameEZ_QEZE_Tax_Credits___EZ_Investment_Tax_Credit"                                           
[21] "NameEZ_QEZE_Tax_Credits___EZ_Wage_Tax_Credit"                                                 
[22] "NameEZ_QEZE_Tax_Credits___QEZE_Credit_for_Real_Property_Taxes"                                
[23] "NameEZ_QEZE_Tax_Credits___QEZE_Credit_for_Real_Property_Taxes_For_Corporate_Partners"         
[24] "NameEZ_QEZE_Tax_Credits___QEZE_Tax_Reduction_Credit"                                          
[25] "NameEZ_QEZE_Tax_Credits___QEZE_Tax_Reduction_Credit_For_Corporate_Partners"                   
[26] "NameFarm_Workforce_Retention_Credit"                                                          
[27] "NameFarmers__School_Tax_Credit"                                                               
[28] "NameHire_a_Veteran_Credit"                                                                    
[29] "NameHistoric_Properties_Rehabilitation_Credit"                                                
[30] "NameIndustrial_or_Manufacturing_Business_Tax_Credit"                                          
[31] "NameInvestment_Tax_Credit"                                                                    
[32] "NameInvestment_Tax_Credit_for_the_Financial_Services_Industry"                                
[33] "NameLife_Sciences_Research___Development_Tax_Credit"                                          
[34] "NameLong_Term_Care_Insurance_Credit"                                                          
[35] "NameLow_Income_Housing_Credit"                                                                
[36] "NameMinimum_Wage_Reimbursement_Credit"                                                        
[37] "NameMortgage_Servicing_Tax_Credit"                                                            
[38] "NameNew_York_Youth_Jobs_Program_Tax_Credit"                                                   
[39] "NameQETC_Capital_Tax_Credit"                                                                  
[40] "NameQETC_Employment_Credit"                                                                   
[41] "NameQETC_Facilities__Operations__and_Training_Credit"                                         
[42] "NameReal_Property_Tax_Relief_Credit_for_Manufacturing"                                        
[43] "NameSpecial_Additional_Mortgage_Recording_Tax_Credit"                                         
[44] "NameSTART_UP_NY_Tax_Elimination_Credit"                                                       
[45] "Group1_000_000___24_999_999"                                                                  
[46] "Group100_000___499_999"                                                                       
[47] "Group100_000_000___499_999_999"                                                               
[48] "Group25_000_000___49_999_999"                                                                 
[49] "Group50_000_000___99_999_999"                                                                 
[50] "Group500_000___999_999"                                                                       
[51] "Group500_000_000___and_over"                                                                  
[52] "GroupZero_or_Net_Loss"                                                                        
[53] "Num"                                                                                          
character(0)
Warning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' values

Warning: collapsing to unique 'x' values
 [1] "Group500_000_000___and_over"                                                                  
 [2] "NameAlternative_Minimum_Tax_Credit"                                                           
 [3] "NameEmpire_State_Film_Production_Credit"                                                      
 [4] "NameClean_Heating_Fuel_Credit"                                                                
 [5] "NameLong_Term_Care_Insurance_Credit"                                                          
 [6] "NameCredit_for_Purchase_of_an_Automated_External_Defibrillator"                               
 [7] "NameCredit_for_Employment_of_Persons_with_Disabilities"                                       
 [8] "Group100_000_000___499_999_999"                                                               
 [9] "NameIndustrial_or_Manufacturing_Business_Tax_Credit"                                          
[10] "NameConservation_Easement_Tax_Credit"                                                         
[11] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___On_or_after_6_23_08_but_before_7_1_15"
[12] "NameHistoric_Properties_Rehabilitation_Credit"                                                
[13] "NameEZ_QEZE_Tax_Credits___EZ_Investment_Tax_Credit"                                           
[14] "NameEZ_QEZE_Tax_Credits___QEZE_Credit_for_Real_Property_Taxes"                                
[15] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___Prior_to_6_23_08"                     
[16] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___On_or_after_7_1_15"                   
[17] "Group50_000_000___99_999_999"                                                                 
[18] "Group25_000_000___49_999_999"                                                                 
[19] "Group1_000_000___24_999_999"                                                                  
[20] "NameEmpire_State_Film_Post_Production_Credit"                                                 
[21] "GroupZero_or_Net_Loss"                                                                        
[22] "NameSTART_UP_NY_Tax_Elimination_Credit"                                                       
[23] "NameReal_Property_Tax_Relief_Credit_for_Manufacturing"                                        
[24] "Num"                                                                                          
[25] "NameNew_York_Youth_Jobs_Program_Tax_Credit"                                                   
[26] "NameEZ_QEZE_Tax_Credits___QEZE_Tax_Reduction_Credit_For_Corporate_Partners"                   
[27] "NameFarmers__School_Tax_Credit"                                                               
[28] "NameHire_a_Veteran_Credit"                                                                    
[29] "NameMinimum_Wage_Reimbursement_Credit"                                                        
[30] "NameEZ_QEZE_Tax_Credits___QEZE_Tax_Reduction_Credit"                                          
[31] "NameEmpire_State_Apprentice_Tax_Credit"                                                       
[32] "NameFarm_Workforce_Retention_Credit"                                                          
[33] "Group500_000___999_999"                                                                       
[34] "NameMortgage_Servicing_Tax_Credit"                                                            
[35] "NameLow_Income_Housing_Credit"                                                                
[36] "Group100_000___499_999"                                                                       
[37] "NameQETC_Employment_Credit"                                                                   
[38] "NameAlternative_Fuels_and_Electric_Vehicle_Recharging_Property_Credit"                        
[39] "Year"                                                                                         
[40] "NameSpecial_Additional_Mortgage_Recording_Tax_Credit"                                         
 [1] "Group500_000_000___and_over"                                                                  
 [2] "NameAlternative_Minimum_Tax_Credit"                                                           
 [3] "NameEmpire_State_Film_Production_Credit"                                                      
 [4] "NameClean_Heating_Fuel_Credit"                                                                
 [5] "NameLong_Term_Care_Insurance_Credit"                                                          
 [6] "NameCredit_for_Purchase_of_an_Automated_External_Defibrillator"                               
 [7] "NameCredit_for_Employment_of_Persons_with_Disabilities"                                       
 [8] "Group100_000_000___499_999_999"                                                               
 [9] "NameIndustrial_or_Manufacturing_Business_Tax_Credit"                                          
[10] "NameConservation_Easement_Tax_Credit"                                                         
[11] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___On_or_after_6_23_08_but_before_7_1_15"
[12] "NameHistoric_Properties_Rehabilitation_Credit"                                                
[13] "NameEZ_QEZE_Tax_Credits___EZ_Investment_Tax_Credit"                                           
[14] "NameEZ_QEZE_Tax_Credits___QEZE_Credit_for_Real_Property_Taxes"                                
[15] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___Prior_to_6_23_08"                     
[16] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___On_or_after_7_1_15"                   
[17] "Group50_000_000___99_999_999"                                                                 
[18] "Group25_000_000___49_999_999"                                                                 
[19] "Group1_000_000___24_999_999"                                                                  
[20] "NameEmpire_State_Film_Post_Production_Credit"                                                 
[21] "GroupZero_or_Net_Loss"                                                                        
[22] "NameSTART_UP_NY_Tax_Elimination_Credit"                                                       
[23] "NameReal_Property_Tax_Relief_Credit_for_Manufacturing"                                        
[24] "Num"                                                                                          
[25] "NameNew_York_Youth_Jobs_Program_Tax_Credit"                                                   
[26] "NameEZ_QEZE_Tax_Credits___QEZE_Tax_Reduction_Credit_For_Corporate_Partners"                   
[27] "NameFarmers__School_Tax_Credit"                                                               
[28] "NameHire_a_Veteran_Credit"                                                                    
[29] "NameMinimum_Wage_Reimbursement_Credit"                                                        
[30] "NameEZ_QEZE_Tax_Credits___QEZE_Tax_Reduction_Credit"                                          
[31] "NameEmpire_State_Apprentice_Tax_Credit"                                                       
[32] "NameFarm_Workforce_Retention_Credit"                                                          
[33] "Group500_000___999_999"                                                                       
[34] "NameMortgage_Servicing_Tax_Credit"                                                            
[35] "NameLow_Income_Housing_Credit"                                                                
[36] "Group100_000___499_999"                                                                       
[37] "NameQETC_Employment_Credit"                                                                   
[38] "NameAlternative_Fuels_and_Electric_Vehicle_Recharging_Property_Credit"                        
[39] "Year"                                                                                         
[40] "NameSpecial_Additional_Mortgage_Recording_Tax_Credit"                                         
character(0)
Warning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' values

Warning: collapsing to unique 'x' values
 [1] "Group500_000_000___and_over"                                                                  
 [2] "NameAlternative_Minimum_Tax_Credit"                                                           
 [3] "NameEmpire_State_Film_Production_Credit"                                                      
 [4] "NameClean_Heating_Fuel_Credit"                                                                
 [5] "NameLong_Term_Care_Insurance_Credit"                                                          
 [6] "NameCredit_for_Purchase_of_an_Automated_External_Defibrillator"                               
 [7] "NameCredit_for_Employment_of_Persons_with_Disabilities"                                       
 [8] "Group100_000_000___499_999_999"                                                               
 [9] "NameIndustrial_or_Manufacturing_Business_Tax_Credit"                                          
[10] "NameConservation_Easement_Tax_Credit"                                                         
[11] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___On_or_after_6_23_08_but_before_7_1_15"
[12] "NameHistoric_Properties_Rehabilitation_Credit"                                                
[13] "NameEZ_QEZE_Tax_Credits___EZ_Investment_Tax_Credit"                                           
[14] "NameEZ_QEZE_Tax_Credits___QEZE_Credit_for_Real_Property_Taxes"                                
[15] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___Prior_to_6_23_08"                     
[16] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___On_or_after_7_1_15"                   
[17] "Group50_000_000___99_999_999"                                                                 
[18] "Group25_000_000___49_999_999"                                                                 
[19] "Group1_000_000___24_999_999"                                                                  
[20] "NameEmpire_State_Film_Post_Production_Credit"                                                 
[21] "GroupZero_or_Net_Loss"                                                                        
[22] "NameSTART_UP_NY_Tax_Elimination_Credit"                                                       
[23] "NameReal_Property_Tax_Relief_Credit_for_Manufacturing"                                        
[24] "Num"                                                                                          
[25] "NameNew_York_Youth_Jobs_Program_Tax_Credit"                                                   
[26] "NameEZ_QEZE_Tax_Credits___QEZE_Tax_Reduction_Credit_For_Corporate_Partners"                   
[27] "NameFarmers__School_Tax_Credit"                                                               
[28] "NameHire_a_Veteran_Credit"                                                                    
[29] "NameMinimum_Wage_Reimbursement_Credit"                                                        
[30] "NameEZ_QEZE_Tax_Credits___QEZE_Tax_Reduction_Credit"                                          
[31] "NameEmpire_State_Apprentice_Tax_Credit"                                                       
[32] "NameFarm_Workforce_Retention_Credit"                                                          
[33] "Group500_000___999_999"                                                                       
[34] "NameMortgage_Servicing_Tax_Credit"                                                            
[35] "NameLow_Income_Housing_Credit"                                                                
[36] "Group100_000___499_999"                                                                       
[37] "NameQETC_Employment_Credit"                                                                   
[38] "NameAlternative_Fuels_and_Electric_Vehicle_Recharging_Property_Credit"                        
[39] "Year"                                                                                         
[40] "NameSpecial_Additional_Mortgage_Recording_Tax_Credit"                                         
 [1] "Group500_000_000___and_over"                                                                  
 [2] "NameAlternative_Minimum_Tax_Credit"                                                           
 [3] "NameEmpire_State_Film_Production_Credit"                                                      
 [4] "NameClean_Heating_Fuel_Credit"                                                                
 [5] "NameLong_Term_Care_Insurance_Credit"                                                          
 [6] "NameCredit_for_Purchase_of_an_Automated_External_Defibrillator"                               
 [7] "NameCredit_for_Employment_of_Persons_with_Disabilities"                                       
 [8] "Group100_000_000___499_999_999"                                                               
 [9] "NameIndustrial_or_Manufacturing_Business_Tax_Credit"                                          
[10] "NameConservation_Easement_Tax_Credit"                                                         
[11] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___On_or_after_6_23_08_but_before_7_1_15"
[12] "NameHistoric_Properties_Rehabilitation_Credit"                                                
[13] "NameEZ_QEZE_Tax_Credits___EZ_Investment_Tax_Credit"                                           
[14] "NameEZ_QEZE_Tax_Credits___QEZE_Credit_for_Real_Property_Taxes"                                
[15] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___Prior_to_6_23_08"                     
[16] "NameBrownfield_Tax_Credits___Redevelopment_Tax_Credit___On_or_after_7_1_15"                   
[17] "Group50_000_000___99_999_999"                                                                 
[18] "Group25_000_000___49_999_999"                                                                 
[19] "Group1_000_000___24_999_999"                                                                  
[20] "NameEmpire_State_Film_Post_Production_Credit"                                                 
[21] "GroupZero_or_Net_Loss"                                                                        
[22] "NameSTART_UP_NY_Tax_Elimination_Credit"                                                       
[23] "NameReal_Property_Tax_Relief_Credit_for_Manufacturing"                                        
[24] "Num"                                                                                          
[25] "NameNew_York_Youth_Jobs_Program_Tax_Credit"                                                   
[26] "NameEZ_QEZE_Tax_Credits___QEZE_Tax_Reduction_Credit_For_Corporate_Partners"                   
[27] "NameFarmers__School_Tax_Credit"                                                               
[28] "NameHire_a_Veteran_Credit"                                                                    
[29] "NameMinimum_Wage_Reimbursement_Credit"                                                        
[30] "NameEZ_QEZE_Tax_Credits___QEZE_Tax_Reduction_Credit"                                          
[31] "NameEmpire_State_Apprentice_Tax_Credit"                                                       
[32] "NameFarm_Workforce_Retention_Credit"                                                          
[33] "Group500_000___999_999"                                                                       
[34] "NameMortgage_Servicing_Tax_Credit"                                                            
[35] "NameLow_Income_Housing_Credit"                                                                
[36] "Group100_000___499_999"                                                                       
[37] "NameQETC_Employment_Credit"                                                                   
[38] "NameAlternative_Fuels_and_Electric_Vehicle_Recharging_Property_Credit"                        
[39] "Year"                                                                                         
[40] "NameSpecial_Additional_Mortgage_Recording_Tax_Credit"                                         
character(0)
Warning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' valuesWarning: collapsing to unique 'x' values

Warning: collapsing to unique 'x' values

df.rsquare <- as.data.frame(cbind('noReg' = no.reg.r2, 'lassoReg' = lasso.reg.r2, 'ridgeReg' = ridge.reg.r2))
rownames(df.rsquare) = names(all.splits)
df.rsquare
# sat.model.bc <- lm(Avg.bc ~., data = xy.splits.sat[['industry']][['data.train']])
# 
# temp.df <- as.data.frame(xy.splits.sat[['industry']][['X.test']])
# 
# colnames(temp.df)[57]
# 
# colnames(temp.df) <- str_replace_all(colnames(temp.df), "[`]", '')
# colnames(temp.df)
# 
# y.predict <- predict(sat.model.bc, newdata = temp.df)
# MSE.sat <- mean((y.predict - xy.splits.sat[['industry']][['y.test']])^2)
# 
# print(paste(i, ' Lasso MSE: ', MSE.lasso, ' Saturated MSE: ', MSE.sat))
# 
# summary(sat.model.bc)$coefficients
# as.data.frame(xy.splits.sat[['industry']][['X.test']]) %>% select(starts_with('`GroupOth'))
as.data.frame(lasso.best.lambda.train.pred) %>% mutate(Avg_in_dollars = (lasso.best.lambda.train.pred*lambda.bc+1)^(1/lambda.bc))
calc_MSE(sat.model.bc, as.data.frame(income.sat.data.split[['X.test']]), income.sat.data.split[['y.test']])
[1] 1.473686
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQpDYWxsIExpYnJhcmllcwpgYGB7cn0gCmxpYnJhcnkodGlkeXZlcnNlKQpsaWJyYXJ5KGNhcmV0KQpsaWJyYXJ5KE1BU1MpCmxpYnJhcnkoY2FyKQpsaWJyYXJ5KG1vbWVudHMpCmBgYAoKCkNhbGxpbmcgdGhlIFRyYW5zZm9ybWVkIERhdGFzZXRzCmBgYHtyfQppbmNvbWVfY2xlYW5lZCA9IHJlYWRfY3N2KCdOWVNfQ29ycF9UYXhfQ3JlZGl0X2RhdGEvaW5jb21lX2NsZWFuZWQuY3N2JykKaW5jb21lX2NsZWFuZWQKaW5kdXN0cnlfY2xlYW5lZCA9IHJlYWRfY3N2KCdOWVNfQ29ycF9UYXhfQ3JlZGl0X2RhdGEvaW5kdXN0cnlfY2xlYW5lZC5jc3YnKQppbmR1c3RyeV9jbGVhbmVkCmBgYAoKCkNyZWF0aW5nIHRoZSBNb2RlbHMKYGBge3J9CnNhdC5tb2RlbC5zdW1tYXJ5IDwtIGZ1bmN0aW9uIChkZiwgZmllbGQsIHNhdC5mb3JtdWxhKXsKICAgIAogICAgI1NoYXBpcm8tV2lsa3MgdGVzdCB0byBldmFsdWF0ZSBub3JtYWxpdHkKICAgIHByaW50KHNoYXBpcm8udGVzdChkZltbZmllbGRdXSkpCiAgICAKICAgICNLdXJ0b3NpcyBldmFsdWF0aW9uIChub3JtYWwgZGlzdHJpYnV0aW9uIGhhcyBhIHZhbHVlIGNsb3NlIHRvIDMpCiAgICBwcmludCgna3VydG9zaXMnKQogICAgcHJpbnQoa3VydG9zaXMoZGZbW2ZpZWxkXV0pKQogICAgbGluZWFyLm1vZGVsLmNsZWFuZWQgPSBsbShzYXQuZm9ybXVsYSwgZGF0YSA9IGRmKQogICAgcHJpbnQoc3VtbWFyeShsaW5lYXIubW9kZWwuY2xlYW5lZCkpCiAgICBwbG90KGxpbmVhci5tb2RlbC5jbGVhbmVkKQogICAgCiAgICAjaGlzdG9ncmFtcyBvZiByZXNwb25zZSB2YXJpYWJsZSB0byBjaGVjayBkaXN0cmlidXRpb24KICAgIHByaW50KGRmICU+JSAKICAgICAgZ2dwbG90KGFlc19zdHJpbmcoZmllbGQpKSArIAogICAgICBnZW9tX2hpc3RvZ3JhbSgpICsgCiAgICAgIGxhYnModGl0bGUgPSAnQXZlcmFnZSBDcmVkaXQgQW1vdW50IERpc3RyaWJ1dGlvbicpICsgCiAgICAgIHRoZW1lKHBsb3QudGl0bGUgPSBlbGVtZW50X3RleHQoaGp1c3QgPSAwLjUpKSkKICAgIAogICAgI0NoZWNraW5nIG11bHRpY29sbGluZWFyaXR5IHVzaW5nIFZJRiBtZWFzdXJlbWVudAogICAgcHJpbnQodmlmKGxpbmVhci5tb2RlbC5jbGVhbmVkKSkKICAgIGluZmx1ZW5jZVBsb3QobGluZWFyLm1vZGVsLmNsZWFuZWQpCiAgICAjYXZQbG90cyhsaW5lYXIubW9kZWwuY2xlYW5lZCkKfQoKCnNhdC5mb3JtdWxhIDwtIEF2ZyB+IC4gLSBBbW91bnQKc2F0LmZpZWxkIDwtICdBdmcnCgpzYXQubW9kZWwuc3VtbWFyeShpbmNvbWVfY2xlYW5lZCwgc2F0LmZpZWxkLCBzYXQuZm9ybXVsYSkKaW5jb21lLm1vZGVsIDwtIGxtKHNhdC5mb3JtdWxhLCBkYXRhID0gaW5jb21lX2NsZWFuZWQpCnN1bW1hcnkoaW5jb21lLm1vZGVsKQoKc2F0Lm1vZGVsLnN1bW1hcnkoaW5kdXN0cnlfY2xlYW5lZCwgc2F0LmZpZWxkLCBzYXQuZm9ybXVsYSkKaW5kdXN0cnkubW9kZWwgPC0gbG0oc2F0LmZvcm11bGEsIGRhdGEgPSBpbmR1c3RyeV9jbGVhbmVkKQpgYGAKCkNvcnJlY3RpbmcgdmlvbGF0aW9uIG9mIE5vcm1hbGl0eSBpbiBwcmV2aW91cyBtb2RlbCB3aXRoIEJveENveCB0cmFuc2Zvcm0KYGBge3J9CmJjX2Z1bmMgPC0gZnVuY3Rpb24gKGxtLmNsZWFuZWQsIGxhbWJkYS5yYW5nZSl7CiAgYmMgPSBib3hDb3gobG0uY2xlYW5lZCwgbGFtYmRhID0gbGFtYmRhLnJhbmdlKQogICNFeHRyYWN0aW5nIHRoZSBiZXN0IGxhbWJkYSB2YWx1ZS4KICByZXR1cm4oYmMkeFt3aGljaChiYyR5ID09IG1heChiYyR5KSldKQp9CiAgCiNJbmNvbWUgR3JvdXAgRGF0YXNldAppbmNvbWUubGFtYmRhLmJjID0gYmNfZnVuYyhpbmNvbWUubW9kZWwsIHNlcSgtMC4yLCAwLjIsIDEvMTApKQppbmNvbWUubGFtYmRhLmJjCgojSW5kdXN0cnkgR3JvdXAgRGF0YXNldAppbmR1c3RyeS5sYW1iZGEuYmMgPSBiY19mdW5jKGluZHVzdHJ5Lm1vZGVsLCBzZXEoLTAuMiwgMC4yLCAxLzEwKSkKaW5kdXN0cnkubGFtYmRhLmJjCgpiY190cmFuc2Zvcm0gPC0gZnVuY3Rpb24oZGYsIGxhbWJkYS5iYyl7CiAgcmV0dXJuIChkZiAlPiUgCiAgICAgICAgICAgIG11dGF0ZShBdmcuYmMgPSAoQXZnXmxhbWJkYS5iYyAtMSkvbGFtYmRhLmJjKSAlPiUgCiAgICAgICAgICAgIHNlbGVjdCgtYyhBdmcsIEFtb3VudCkpKQp9CgojSW5jb21lIEdyb3VwIERhdGFzZXQKaW5jb21lX2NsZWFuZWRfYmMgPC0gYmNfdHJhbnNmb3JtKGluY29tZV9jbGVhbmVkLCBpbmNvbWUubGFtYmRhLmJjKQppbmNvbWUubW9kZWwuYmMgPSBsbShBdmcuYmMgfiAuLCBkYXRhID0gaW5jb21lX2NsZWFuZWRfYmMpCgojSW5kdXN0cnkgR3JvdXAgRGF0YXNldAppbmR1c3RyeV9jbGVhbmVkX2JjIDwtIGJjX3RyYW5zZm9ybShpbmR1c3RyeV9jbGVhbmVkLCBpbmR1c3RyeS5sYW1iZGEuYmMpCmluZHVzdHJ5Lm1vZGVsLmJjID0gbG0oQXZnLmJjIH4gLiwgZGF0YSA9IGluZHVzdHJ5X2NsZWFuZWRfYmMpCmBgYAoKQ2hlY2tpbmcgbGluZWFyIHJlZ3Jlc3Npb24gYXNzdW1wdGlvbnMgZm9yIHRoZSB0cmFuc2Zvcm1lZCBkYXRhLgpgYGB7cn0Kc2F0LmZvcm11bGEuYmMgPC0gQXZnLmJjIH4gLgpzYXQuZmllbGQuYmMgPC0gJ0F2Zy5iYycKCiNJbmNvbWUKc2F0Lm1vZGVsLnN1bW1hcnkoaW5jb21lX2NsZWFuZWRfYmMsIHNhdC5maWVsZC5iYywgc2F0LmZvcm11bGEuYmMpCgojSW5kdXN0cnkKc2F0Lm1vZGVsLnN1bW1hcnkoaW5kdXN0cnlfY2xlYW5lZF9iYywgc2F0LmZpZWxkLmJjLCBzYXQuZm9ybXVsYS5iYykKYGBgCgpCSUMgY29tcGFyaXNvbiBiZWZvcmUgYW5kIGFmdGVyIEJveENveCB0cmFuc2Zvcm0KYGBge3J9CkJJQyhpbmNvbWUubW9kZWwuYmMsIGluY29tZS5tb2RlbCkKQklDKGluZHVzdHJ5Lm1vZGVsLmJjLCBpbmR1c3RyeS5tb2RlbCkKYGBgCgpTdGVwd2lzZSBSZWdyZXNzaW9uIG9uIEluY29tZV9jYXRfYmMgKGJveGNveCB0cmFuc2Zvcm1lZCBkYXRhc2V0KQpgYGB7cn0KI2NyZWF0aW5nIGR1bW15IHZhcmlhYmxlIGNvbHVtbnMgZm9yIHN0ZXB3aXNlCmR1bW15X2Z1bmMgPC0gZnVuY3Rpb24gKGRmKXsKICB4ID0gbW9kZWwubWF0cml4KEF2Zy5iYyB+LiwgZGYpWywgLTFdCiAgZHVtbXlfYmMgPSBhcy5kYXRhLmZyYW1lKHgpICU+JSBtdXRhdGUoQXZnLmJjID0gZGYkQXZnLmJjKQogICNjb2xuYW1lcyhkdW1teV9iYykgPC0gc3RyX3JlcGxhY2VfYWxsKGNvbG5hbWVzKGR1bW15X2JjKSwgIi18J3wvfCB8LHzvv718JiIgLCAnXycpCiAgY29sbmFtZXMoZHVtbXlfYmMpIDwtIHN0cl9yZXBsYWNlX2FsbChjb2xuYW1lcyhkdW1teV9iYyksICJbLScvICzvv70mKClgXSIgLCAnXycpCiAgcmV0dXJuKGR1bW15X2JjKQp9CmBgYAoKQ2xlYW5pbmcgY29sdW1uIG5hbWVzIGZ1cnRoZXIgc28gc3RlcHdpc2UgcmVncmVzc2lvbiBkb2Vzbid0IHByZXNlbnQgYW55IGVycm9ycwpgYGB7cn0KI0luY29tZSBHcm91cCBEYXRhc2V0CmluY29tZS5kdW1teS5iYyA8LSBkdW1teV9mdW5jKGluY29tZV9jbGVhbmVkX2JjKQojY29sbmFtZXMoaW5jb21lLmR1bW15LmJjKVszN10gPC0gJ05hbWVNYW51ZmFjdHVyZXJ1MDA5MnNfUmVhbF9Qcm9wZXJ0eV9UYXhfQ3JlZGl0Jwpjb2xuYW1lcyhpbmNvbWUuZHVtbXkuYmMpCgojSW5kdXN0cnkgR3JvdXAgRGF0YXNldAppbmR1c3RyeS5kdW1teS5iYyA8LSBkdW1teV9mdW5jKGluZHVzdHJ5X2NsZWFuZWRfYmMpCiNjb2xuYW1lcyhpbmR1c3RyeS5kdW1teS5iYylbMzVdIDwtICdOYW1lTWFudWZhY3R1cmVydTAwOTJzX1JlYWxfUHJvcGVydHlfVGF4X0NyZWRpdCcKY29sbmFtZXMoaW5kdXN0cnkuZHVtbXkuYmMpCmBgYAoKU3RlcHdpc2UgcmVncmVzc2lvbiB1c2luZyBCSUMgYXMgdGhlIGNyaXRlcmlhIChrID0gbG9nKG4pKS4KYGBge3J9CiNDcmVhdGluZyBTdGVwd2lzZSBNb2RlbHMKYmNzID0gbGlzdChpbmNvbWUgPSBpbmNvbWUuZHVtbXkuYmMsIGluZHVzdHJ5ID0gaW5kdXN0cnkuZHVtbXkuYmMpCm1vZGVsLmZ1bGxzID0gbGlzdChpbmNvbWUgPSBsbShBdmcuYmMgfiAuLCBkYXRhID0gaW5jb21lLmR1bW15LmJjKSwgaW5kdXN0cnkgPSBsbShBdmcuYmMgfiAuLCBkYXRhID0gaW5kdXN0cnkuZHVtbXkuYmMpKSAjQWxsIHZhcmlhYmxlcwptb2RlbC5lbXB0eXMgPSBsaXN0KGluY29tZSA9IGxtKEF2Zy5iYyB+IDEsIGRhdGEgPSBpbmNvbWUuZHVtbXkuYmMpLCBpbmR1c3RyeSA9IGxtKEF2Zy5iYyB+IDEsIGRhdGEgPSBpbmR1c3RyeS5kdW1teS5iYykpICNpbnRlcmNlcHQgb25seQprID0gYygnaW5jb21lJywgJ2luZHVzdHJ5JykKZm9yd2FyZEJJQyA9IGxpc3QoaW5jb21lID0gTlVMTCwgaW5kdXN0cnkgPSBOVUxMKQpiYWNrd2FyZEJJQyA9IGxpc3QoaW5jb21lID0gTlVMTCwgaW5kdXN0cnkgPSBOVUxMKQoKZm9yIChpIGluIGspewogIGJjID0gYmNzW1tpXV0KICBzY29wZSA9IGxpc3QobG93ZXIgPSBmb3JtdWxhKG1vZGVsLmVtcHR5c1tbaV1dKSwgdXBwZXIgPSBmb3JtdWxhKG1vZGVsLmZ1bGxzW1tpXV0pKQogIG5fb2JzID0gYmMgJT4lIGNvdW50KCkgJT4lIGRwbHlyOjpmaXJzdCgpCiAgZm9yd2FyZEJJQ1tbaV1dID0gc3RlcChtb2RlbC5lbXB0eXNbW2ldXSwgc2NvcGUsIGRpcmVjdGlvbiA9ICJmb3J3YXJkIiwgayA9IGxvZyhuX29icykpCiAgYmFja3dhcmRCSUNbW2ldXSA9IHN0ZXAobW9kZWwuZnVsbHNbW2ldXSwgc2NvcGUsIGRpcmVjdGlvbiA9ICJiYWNrd2FyZCIsIGsgPSBsb2cobl9vYnMpKQp9CmBgYAoKU2VsZWN0aW5nIEJlc3QgRm9ybXVsYSBwZXIgRGF0YXNldCBmcm9tIFN0ZXB3aXNlIFJlZ3Jlc3Npb25zCmBgYHtyfQpiaWNfZnVuYyA8LSBmdW5jdGlvbiAoQklDLm1vZGVsKXsKICBwcmludCgnQWRqdXN0ZWQgUiBTcXVhcmVkOicpCiAgcHJpbnQoc3VtbWFyeShCSUMubW9kZWwpJGFkai5yLnNxdWFyZWQpCiAgcHJpbnQoJ051bWJlciBvZiBDb2VmZmljaWVudHM6JykKICBwcmludChkaW0oc3VtbWFyeShCSUMubW9kZWwpJGNvZWZmaWNpZW50KVsxXSkKICBwcmludCgnVklGIENoZWNrOiAnKQogIHByaW50KG1heCh2aWYoQklDLm1vZGVsKSkpCiAgcHJpbnQoIioqKioqKioqKioqKioqKioqKioqKioqKioiKQp9CgpiaWNfZnVuYyhmb3J3YXJkQklDW1snaW5jb21lJ11dKQpiaWNfZnVuYyhiYWNrd2FyZEJJQ1tbJ2luY29tZSddXSkKYmljX2Z1bmMoZm9yd2FyZEJJQ1tbJ2luZHVzdHJ5J11dKSAKYmljX2Z1bmMoYmFja3dhcmRCSUNbWydpbmR1c3RyeSddXSkKCgoKI01hbnVhbCByZWR1Y3Rpb24gb2YgdmFyaWFibGVzIHVzaW5nIFZJRiBhbmQgdGhlbiBjaGVja2VkIHZlcnN1cyBzYXR1cmF0ZWQgbW9kZWwgd2l0aCBBbm92YS4gVGhpcyB3YXMgbm90IHVzZWQgYmVjYXVzZSB0aGUgc2F0dXJhdGVkIG1vZGVsIGNvbnRhaW5lZCBtdWx0aWNvbGxpbmVhcml0eSBpc3N1ZXMgYXMgaW5kaWNhdGVkIGJ5IGEgaGlnaCBWSUYgc2NvcmUgb24gc29tZSBjb2VmZmljaWVudHMuIEFuZCB0aGUgYW5vdmEgdGVzdCBzdWdnZXN0ZWQgdGhhdCB0aGUgY29lZmZpY2llbnRzIHJlbW92ZWQgaW4gdGhlIHJlZHVjZWQgbW9kZWwgd2VyZSBpbmZvcm1hdGl2ZSBpbiBvdXIgbW9kZWwsIHNvIHdlIGNvdWxkbid0IHVzZSBpdCBlaXRoZXIuIFRodXMgU3RlcHdpc2UgcmVkdWN0aW9uIGlzIHRoZSBwcmVmZXJyZWQgbWV0aG9kIGZvciBiZXN0IG1vZGVsIGZpdC4KCiMgVklGLnZhcmlhYmxlcyA8LSBhcy5kYXRhLmZyYW1lKHZpZihtb2RlbC5mdWxsc1tbJ2luZHVzdHJ5J11dKSkgJT4lIAojICAgc2VsZWN0KFZJRiA9IGB2aWYobW9kZWwuZnVsbHNbWyJpbmR1c3RyeSJdXSlgKSAlPiUgCiMgICBmaWx0ZXIoVklGID4gNSkgJT4lIHJvd25hbWVzKCkKIyAKIyBpbmR1c3RyeS5kdW1teS5iYy5WSUYgPC0gaW5kdXN0cnkuZHVtbXkuYmMgJT4lIHNlbGVjdCgtYWxsX29mKFZJRi52YXJpYWJsZXMpKQojIGluZHVzdHJ5Lm1vZGVsLlZJRiA8LSBsbShBdmcuYmMgfiAuLCBkYXRhID0gaW5kdXN0cnkuZHVtbXkuYmMuVklGKQojIHN1bW1hcnkoaW5kdXN0cnkubW9kZWwuVklGKQojIGFub3ZhKGluZHVzdHJ5Lm1vZGVsLlZJRiwgbW9kZWwuZnVsbHNbWydpbmR1c3RyeSddXSkKCmBgYAoKQmVzdCBNb2RlbCBTZWxlY3Rpb24gZnJvbSBTdGVwd2lzZQpgYGB7cn0KI1RoZSBCZXN0IE1vZGVscyBzZWxlY3RlZCBmb3IgYm90aCBpbmNvbWUgYW5kIGluZHVzdHJ5IHdlcmUgZm9yd2FyZEJJQy4KCiNJbmNvbWUgR3JvdXAgRGF0YXNldAppbmNvbWUuYmVzdC5mb3JtdWxhIDwtIGZvcndhcmRCSUNbWydpbmNvbWUnXV0kY2FsbFtbMl1dCmluY29tZS5iZXN0LmZvcm11bGEKCiNJbmR1c3RyeSBHcm91cCBEYXRhc2V0CmluZHVzdHJ5LmJlc3QuZm9ybXVsYSA8LSBmb3J3YXJkQklDW1snaW5kdXN0cnknXV0kY2FsbFtbMl1dCmluZHVzdHJ5LmJlc3QuZm9ybXVsYQpgYGAKCgpTcGxpdHRpbmcgZGF0YSB1cCBpbnRvIHRlc3QgZGF0YSBhbmQgdHJhaW5pbmcgZGF0YSAodGVzdCBkYXRhIGlzIGZvciB5ZWFyIDIwMTksIHRyYWluaW5nIGlzIHRoZSByZXN0KQpgYGB7cn0KdGVzdF90cmFpbl9zcGxpdCA8LSBmdW5jdGlvbihkdW1teV9iYywgYmVzdC5mb3JtdWxhKSB7CiAgIyBkYXRhLnRlc3QgPC0gZHVtbXlfYmMgJT4lIGZpbHRlcihZZWFyID09IDIwMTkpCiAgIyBkYXRhLnRyYWluIDwtIGR1bW15X2JjICU+JSBmaWx0ZXIoWWVhciAhPSAyMDE5KQogIFggPC0gbW9kZWwubWF0cml4KGJlc3QuZm9ybXVsYSwgZGF0YSA9IGR1bW15X2JjKVssLTFdCiAgeSA8LSBhcy5tYXRyaXgoZHVtbXlfYmMgJT4lIHNlbGVjdChhbGwudmFycyhiZXN0LmZvcm11bGEpWzFdKSkKICAKICBzZXQuc2VlZCgwKQogIHRyYWluLmkgPSBzYW1wbGUoMTpucm93KGR1bW15X2JjKSwgMC44Km5yb3coZHVtbXlfYmMpLCByZXBsYWNlID0gRikKICAKICAjdHJhaW4KICBYLnRyYWluIDwtIFhbdHJhaW4uaSxdCiAgeS50cmFpbiA8LSB5W3RyYWluLmksXQogIAogICN0ZXN0CiAgWC50ZXN0IDwtIFhbLXRyYWluLmksXQogIHkudGVzdCA8LSB5Wy10cmFpbi5pLF0KICAKICBkYXRhLnRyYWluIDwtIGFzLmRhdGEuZnJhbWUoY2JpbmQoeS50cmFpbiwgWC50cmFpbikpCiAgZGF0YS50ZXN0IDwtIGFzLmRhdGEuZnJhbWUoY2JpbmQoeS50ZXN0LCBYLnRlc3QpKQogIGNvbG5hbWVzKGRhdGEudHJhaW4pWzFdID0gYWxsLnZhcnMoYmVzdC5mb3JtdWxhKVsxXQogIGNvbG5hbWVzKGRhdGEudGVzdClbMV0gPSBhbGwudmFycyhiZXN0LmZvcm11bGEpWzFdCiAgCiAgcmV0dXJuIChsaXN0KCdYLnRyYWluJyA9IFgudHJhaW4sICd5LnRyYWluJyA9IHkudHJhaW4sICdYLnRlc3QnID0gWC50ZXN0LCAneS50ZXN0JyA9IHkudGVzdCwgJ2RhdGEudHJhaW4nID0gZGF0YS50cmFpbiwgJ2RhdGEudGVzdCcgPSBkYXRhLnRlc3QpKQp9CmBgYAoKYGBge3J9CnRlc3RfdHJhaW5fc3BsaXRfb2xkIDwtIGZ1bmN0aW9uKGR1bW15X2JjLCBiZXN0LmZvcm11bGEpIHsKICAjIGRhdGEudGVzdCA8LSBkdW1teV9iYyAlPiUgZmlsdGVyKFllYXIgPT0gMjAxOSkKICAjIGRhdGEudHJhaW4gPC0gZHVtbXlfYmMgJT4lIGZpbHRlcihZZWFyICE9IDIwMTkpCiAgc2V0LnNlZWQoMCkKICB0cmFpbi5pID0gc2FtcGxlKDE6bnJvdyhkdW1teV9iYyksIDAuOCpucm93KGR1bW15X2JjKSwgcmVwbGFjZSA9IEYpCiAgZGF0YS50cmFpbiA8LSBkdW1teV9iYyAlPiUgc2xpY2UodHJhaW4uaSkKICBkYXRhLnRlc3QgPC0gZHVtbXlfYmMgJT4lIHNsaWNlKC10cmFpbi5pKQogIAogICN0cmFpbgogICNYLnRyYWluIDwtIGFzLm1hdHJpeChkYXRhLnRyYWluICU+JSBzZWxlY3QoLUF2Zy5iYykpCiAgWC50cmFpbiA8LSBtb2RlbC5tYXRyaXgoYmVzdC5mb3JtdWxhLCBkYXRhID0gZGF0YS50cmFpbilbLC0xXQogIHkudHJhaW4gPC0gYXMubWF0cml4KGRhdGEudHJhaW4gJT4lIHNlbGVjdChhbGwudmFycyhiZXN0LmZvcm11bGEpWzFdKSkKCiAgI3Rlc3QKICAjWC50ZXN0IDwtIGFzLm1hdHJpeChkYXRhLnRlc3QgJT4lIHNlbGVjdCgtQXZnLmJjKSkKICBYLnRlc3QgPC0gbW9kZWwubWF0cml4KGJlc3QuZm9ybXVsYSwgZGF0YSA9IGRhdGEudGVzdClbLC0xXQogIHkudGVzdCA8LSBhcy5tYXRyaXgoZGF0YS50ZXN0ICU+JSBzZWxlY3QoYWxsLnZhcnMoYmVzdC5mb3JtdWxhKVsxXSkpCiAgCiAgI3JldHVybiAobGlzdCgnWC50cmFpbicgPSBYLnRyYWluLCAneS50cmFpbicgPSB5LnRyYWluLCAnWC50ZXN0JyA9IFgudGVzdCwgJ3kudGVzdCcgPSB5LnRlc3QsICdkYXRhLnRyYWluJyA9IGRhdGEudHJhaW4sICdkYXRhLnRlc3QnID0gZGF0YS50ZXN0KSkKfQoKI0luY29tZQppbmNvbWUuZGF0YS5zcGxpdC5zYXQgPC0gdGVzdF90cmFpbl9zcGxpdChpbmNvbWUuZHVtbXkuYmMsIEF2Zy5iYyB+IC4pCmluY29tZS5kYXRhLnNwbGl0IDwtIHRlc3RfdHJhaW5fc3BsaXQoaW5jb21lLmR1bW15LmJjLCBpbmNvbWUuYmVzdC5mb3JtdWxhKQoKI0luZHVzdHJ5CmluZHVzdHJ5LmRhdGEuc3BsaXQuc2F0IDwtIHRlc3RfdHJhaW5fc3BsaXQoaW5kdXN0cnkuZHVtbXkuYmMsIEF2Zy5iYyB+IC4pCmluZHVzdHJ5LmRhdGEuc3BsaXQgPC0gdGVzdF90cmFpbl9zcGxpdChpbmR1c3RyeS5kdW1teS5iYywgaW5kdXN0cnkuYmVzdC5mb3JtdWxhKQoKdGVzdF90cmFpbl9zcGxpdChpbmNvbWVfY2xlYW5lZCwgQXZnIH4gLikKCmBgYAoKCkxhc3NvIHJlZ3Jlc3Npb24gZm9yIGNvbXBhcmlzb24gdG8gRm9yd2FyZCBTdGVwd2lzZQpgYGB7cn0KIyBjYWxjX01TRSA8LSBmdW5jdGlvbiAobW9kZWwsIHgudGVzdCwgeS50ZXN0KXsKIyAgIHkucHJlZGljdCA8LSBwcmVkaWN0KG1vZGVsLCBuZXdkYXRhID0geC50ZXN0KQojICAgcmV0dXJuKG1lYW4oKHkucHJlZGljdCAtIHkudGVzdCleMikpCiMgfQoKeHkuc3BsaXRzIDwtIGxpc3QoJ2luY29tZScgPSBpbmNvbWUuZGF0YS5zcGxpdCwgCiAgICAgICAgICAgICAgICAgICdpbmR1c3RyeScgPSBpbmR1c3RyeS5kYXRhLnNwbGl0LCAKICAgICAgICAgICAgICAgICAgJ2luY29tZS5zYXQnID0gaW5jb21lLmRhdGEuc3BsaXQuc2F0LCAKICAgICAgICAgICAgICAgICAgJ2luZHVzdHJ5LnNhdCcgPSBpbmR1c3RyeS5kYXRhLnNwbGl0LnNhdCkKCmxhc3NvLmxpc3QgPC0gYygnaW5jb21lJywgJ2luZHVzdHJ5JywgJ2luY29tZS5zYXQnLCAnaW5kdXN0cnkuc2F0JykKYmFzZWxpbmUubGlzdCA8LSBjKCdpbmNvbWUuc2F0JywgJ2luZHVzdHJ5LnNhdCcsICdpbmNvbWUuc2F0JywgJ2luZHVzdHJ5LnNhdCcpCnJpZGdlLmFscGhhIDwtIDAKCmZvciAoYSBpbiAxOjQpewogIGkgPSBsYXNzby5saXN0W2FdCiAgYiA9IGJhc2VsaW5lLmxpc3RbYV0KICBYLnRyYWluIDwtIHh5LnNwbGl0c1tbaV1dW1snWC50cmFpbiddXQogIHkudHJhaW4gPC0geHkuc3BsaXRzW1tpXV1bWyd5LnRyYWluJ11dCiAgWC50ZXN0IDwtIHh5LnNwbGl0c1tbaV1dW1snWC50ZXN0J11dCiAgeS50ZXN0IDwtIHh5LnNwbGl0c1tbaV1dW1sneS50ZXN0J11dCiAgWC50ZXN0LnNhdCA8LSB4eS5zcGxpdHNbW2JdXVtbJ1gudGVzdCddXQogIHkudGVzdC5zYXQgPC0geHkuc3BsaXRzW1tiXV1bWyd5LnRlc3QnXV0KICBkYXRhLnRyYWluIDwtIHh5LnNwbGl0c1tbaV1dW1snZGF0YS50cmFpbiddXQogIGRhdGEudGVzdCA8LSB4eS5zcGxpdHNbW2ldXVtbJ2RhdGEudGVzdCddXQogIAogICNjcmVhdGUgbGFtYmRhIGdyaWQKICBsYW1iZGEuZ3JpZCA9IDEwXnNlcSgyLCAtNSwgbGVuZ3RoID0gMTAwKQogIAogICNjcmVhdGUgbGFzc28gbW9kZWxzIHdpdGggbGFtYmRhLmdyaWQKICBsYXNzby5tb2RlbHMgPSBnbG1uZXQoWC50cmFpbiwgeS50cmFpbiwgYWxwaGEgPSByaWRnZS5hbHBoYSwgbGFtYmRhID0gbGFtYmRhLmdyaWQpCiAgCiAgI3Zpc3VhbGl6ZSBjb2VmZmljaWVudCBzaHJpbmthZ2UKICBwbG90KGxhc3NvLm1vZGVscywgeHZhciA9ICJsYW1iZGEiLCBsYWJlbCA9IFRSVUUsIG1haW4gPSBwYXN0ZSgiTGFzc28gUmVncmVzc2lvbjoiLCBpKSkKICAKICAjQ3Jvc3MgVmFsaWRhdGlvbiB0byBmaW5kIGJlc3QgbGFtYmRhCiAgc2V0LnNlZWQoMCkKICBjdi5sYXNzby5tb2RlbHMgPC0gY3YuZ2xtbmV0KFgudHJhaW4sIHkudHJhaW4sIGFscGhhID0gcmlkZ2UuYWxwaGEsIGxhbWJkYSA9IGxhbWJkYS5ncmlkLCBuZm9sZHMgPSAxMCkKICAKICAjdmlzdWFsaXplIGNyb3NzIHZhbGlkYXRpb24gZm9yIGxhbWJkYSB0aGF0IG1pbmltaXplcyB0aGUgbWVhbiBzcXVhcmVkIGVycm9yLgogIHBsb3QoY3YubGFzc28ubW9kZWxzLCBtYWluID0gcGFzdGUoIkxhc3NvIFJlZ3Jlc3Npb246IiwgaSkpCiAgCiAgI0NoZWNraW5nIHRoZSBiZXN0IGxhbWJkYQogIGxvZyhjdi5sYXNzby5tb2RlbHMkbGFtYmRhLm1pbikKICBiZXN0LmxhbWJkYSA8LSBjdi5sYXNzby5tb2RlbHMkbGFtYmRhLm1pbgogIHByaW50KHBhc3RlKGksICcgYmVzdC5sYW1iZGE6JywgYmVzdC5sYW1iZGEpKQogICMgYmVzdCBsYW1iZGEgd2l0aCBhbGwgdGhlIHZhcmlhYmxlcyB3YXMgZm91bmQgdG8gYmUgMC4wMDA2ODkyNjEyCiAgIyBiZXN0IGxhbWJkYSB3aXRoIG9ubHkgdGhlIGJ3ZEJJQyBjb2VmZmljaWVudHMgaW5jbHVkZWQgd2FzIGZvdW5kIHRvIGJlIDAuMDAwMzA1Mzg1NgogIAogICNsb29raW5nIGF0IHRoZSBsYXNzbyBjb2VmZmljaWVudHMgZm9yIHRoZSBiZXN0LmxhbWJkYQogIGJlc3QubGFtYmRhLmNvZWZmIDwtIHByZWRpY3QobGFzc28ubW9kZWxzLCBzID0gYmVzdC5sYW1iZGEsIHR5cGUgPSAiY29lZmZpY2llbnRzIikKICBwcmludCgnTnVtYmVyIG9mIENvZWZmaWNpZW50czonKQogIHByaW50KGRpbShiZXN0LmxhbWJkYS5jb2VmZilbMV0pCiAgCiAgI2ZpdHRpbmcgYSBtb2RlbCB3aXRoIHRoZSBiZXN0IGxhbWJkYSBmb3VuZCB0byBiZSAwLjAwMDY4OSBhbmQgdXNpbmcgaXQgdG8gbWFrZSBwcmVkaWN0aW9ucyBmb3IgdGhlIHRlc3RpbmcgZGF0YS4KICBsYXNzby5iZXN0LmxhbWJkYS50cmFpbi5wcmVkIDwtIHByZWRpY3QobGFzc28ubW9kZWxzLCBzID0gYmVzdC5sYW1iZGEsIG5ld3ggPSBYLnRlc3QpCiAgbGFzc28uYmVzdC5sYW1iZGEudHJhaW4ucHJlZAogIAogICNjaGVja2luZyBNU0UKICBNU0UubGFzc28gPC0gbWVhbigobGFzc28uYmVzdC5sYW1iZGEudHJhaW4ucHJlZCAtIHkudGVzdCleMikKICBzYXQubW9kZWwuYmMgPC0gbG0oQXZnLmJjIH4uLCBkYXRhID0gZGF0YS50cmFpbikKICAKICAKICB0ZW1wLmRmIDwtIGFzLmRhdGEuZnJhbWUoWC50ZXN0LnNhdCkgI3RlbXAgZml4CiAgY29sbmFtZXModGVtcC5kZikgPC0gc3RyX3JlcGxhY2VfYWxsKGNvbG5hbWVzKHRlbXAuZGYpLCAiW2BdIiwgJycpCiAgCiAgeS5wcmVkaWN0IDwtIHByZWRpY3Qoc2F0Lm1vZGVsLmJjLCBuZXdkYXRhID0gdGVtcC5kZikKICBNU0Uuc2F0IDwtIG1lYW4oKHkucHJlZGljdCAtIHkudGVzdC5zYXQpXjIpCiAgCiAgcHJpbnQocGFzdGUoaSwgJyBMYXNzbyBNU0U6ICcsIE1TRS5sYXNzbywgJyAnLCBiLCAnIFNhdHVyYXRlZCBNU0U6ICcsIE1TRS5zYXQpKQoKICBtZXRyaWNzIDwtIGV2YWxfcmVzdWx0cyh5LnRlc3QsIGxhc3NvLmJlc3QubGFtYmRhLnRyYWluLnByZWQsIGRhdGEudGVzdCkKICBwcmludChtZXRyaWNzKQogIHByaW50KCcqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKicpCn0KYGBgCgpGdW5jdGlvbiB0byBzaG93IG1ldHJpY3MgKFJeMiBhbmQgTVNFKSBmb3IgUmVndWxhcml6YXRpb24gKFJpZGdlL0xhc3NvKQpgYGB7cn0KcmVndWxhcml6YXRpb25fZnVuYyA8LSBmdW5jdGlvbiAoZGF0YSwgYWxwaGEsIG5hbWUpewogIFgudHJhaW4gPC0gZGF0YVtbJ1gudHJhaW4nXV0KICB5LnRyYWluIDwtIGRhdGFbWyd5LnRyYWluJ11dCiAgWC50ZXN0IDwtIGRhdGEgW1snWC50ZXN0J11dCiAgeS50ZXN0IDwtIGRhdGFbWyd5LnRlc3QnXV0KICBkYXRhLnRlc3QgPC0gZGF0YVtbJ2RhdGEudGVzdCddXQogIHByaW50KGNvbG5hbWVzKFgudHJhaW4pKQogIHByaW50KGNvbG5hbWVzKFgudGVzdCkpCiAgcHJpbnQoc2V0ZGlmZihjb2xuYW1lcyhYLnRyYWluKSwgY29sbmFtZXMoWC50ZXN0KSkpCiAgCiAgI2NyZWF0ZSBsYW1iZGEgZ3JpZAogIGxhbWJkYS5ncmlkID0gMTBec2VxKDEwLCAtMTAsIGxlbmd0aCA9IDEwMCkKICAKICAjY3JlYXRlIGxhc3NvIG1vZGVscyB3aXRoIGxhbWJkYS5ncmlkCiAgbGFzc28ubW9kZWxzID0gZ2xtbmV0KFgudHJhaW4sIHkudHJhaW4sIGFscGhhID0gcmlkZ2UuYWxwaGEsIGxhbWJkYSA9IGxhbWJkYS5ncmlkKQogIAogICN2aXN1YWxpemUgY29lZmZpY2llbnQgc2hyaW5rYWdlCiAgIyBwbG90KGxhc3NvLm1vZGVscywgeHZhciA9ICJsYW1iZGEiLCBsYWJlbCA9IFRSVUUsIG1haW4gPSBwYXN0ZSgiTGFzc28gUmVncmVzc2lvbjoiLCBpKSkKICAKICAjQ3Jvc3MgVmFsaWRhdGlvbiB0byBmaW5kIGJlc3QgbGFtYmRhCiAgc2V0LnNlZWQoMCkKICBjdi5sYXNzby5tb2RlbHMgPC0gY3YuZ2xtbmV0KFgudHJhaW4sIHkudHJhaW4sIGFscGhhID0gcmlkZ2UuYWxwaGEsIGxhbWJkYSA9IGxhbWJkYS5ncmlkLCBuZm9sZHMgPSAxMCkKICAKICAjdmlzdWFsaXplIGNyb3NzIHZhbGlkYXRpb24gZm9yIGxhbWJkYSB0aGF0IG1pbmltaXplcyB0aGUgbWVhbiBzcXVhcmVkIGVycm9yLgogIHBsb3QoY3YubGFzc28ubW9kZWxzLCBtYWluID0gcGFzdGUoIkFscGhhOiIsIGFscGhhLCAiUmVncmVzc2lvbjoiLCBuYW1lKSkKICAKICAjQ2hlY2tpbmcgdGhlIGJlc3QgbGFtYmRhCiAgIyBsb2coY3YubGFzc28ubW9kZWxzJGxhbWJkYS5taW4pCiAgIyBiZXN0LmxhbWJkYSA8LSBjdi5sYXNzby5tb2RlbHMkbGFtYmRhLm1pbgogICMgcHJpbnQocGFzdGUoaSwgJyBiZXN0LmxhbWJkYTonLCBiZXN0LmxhbWJkYSkpCiAgIyBiZXN0IGxhbWJkYSB3aXRoIGFsbCB0aGUgdmFyaWFibGVzIHdhcyBmb3VuZCB0byBiZSAwLjAwMDY4OTI2MTIKICAjIGJlc3QgbGFtYmRhIHdpdGggb25seSB0aGUgYndkQklDIGNvZWZmaWNpZW50cyBpbmNsdWRlZCB3YXMgZm91bmQgdG8gYmUgMC4wMDAzMDUzODU2CiAgCiAgI2xvb2tpbmcgYXQgdGhlIGxhc3NvIGNvZWZmaWNpZW50cyBmb3IgdGhlIGJlc3QubGFtYmRhCiAgIyBiZXN0LmxhbWJkYS5jb2VmZiA8LSBwcmVkaWN0KGxhc3NvLm1vZGVscywgcyA9IGN2Lmxhc3NvLm1vZGVscyRsYW1iZGEubWluLCB0eXBlID0gImNvZWZmaWNpZW50cyIpCiAgIyBwcmludCgnTnVtYmVyIG9mIENvZWZmaWNpZW50czonKQogICMgcHJpbnQoZGltKGJlc3QubGFtYmRhLmNvZWZmKVsxXSkKICAKICAjZml0dGluZyBhIG1vZGVsIHdpdGggdGhlIGJlc3QgbGFtYmRhIGZvdW5kIHRvIGJlIDAuMDAwNjg5IGFuZCB1c2luZyBpdCB0byBtYWtlIHByZWRpY3Rpb25zIGZvciB0aGUgdGVzdGluZyBkYXRhLgogIGxhc3NvLmJlc3QubGFtYmRhLnRyYWluLnByZWQgPC0gcHJlZGljdChsYXNzby5tb2RlbHMsIHMgPSBjdi5sYXNzby5tb2RlbHMkbGFtYmRhLm1pbiwgbmV3eCA9IFgudGVzdCkKICBsYXNzby5iZXN0LmxhbWJkYS50cmFpbi5wcmVkCiAgCiAgCiAgI2NoZWNraW5nIE1TRQogIE1TRS5sYXNzbyA8LSBtZWFuKChsYXNzby5iZXN0LmxhbWJkYS50cmFpbi5wcmVkIC0geS50ZXN0KV4yKQogIAogIHJldHVybihldmFsX3Jlc3VsdHMoeS50ZXN0LCBsYXNzby5iZXN0LmxhbWJkYS50cmFpbi5wcmVkLCBkYXRhLnRlc3QpWydSc3F1YXJlJ10pCn0KCnJlZ3VsYXJpemF0aW9uX2Z1bmMoYWxsLnNwbGl0c1tbJ2luY29tZV9jbGVhbmVkJ11dLCAwLCAnaW5jb21lX2NsZWFuZWQnKQpyZWd1bGFyaXphdGlvbl9mdW5jKGFsbC5zcGxpdHNbWydpbmNvbWVfY2xlYW5lZF9iYyddXSwgMCwgJ2luY29tZV9jbGVhbmVkX2JjJykKcmVndWxhcml6YXRpb25fZnVuYyhhbGwuc3BsaXRzW1snaW5jb21lLmRhdGEuc3BsaXQuc2F0J11dLCAwLCAnaW5jb21lLmRhdGEuc3BsaXQuc2F0JykKYGBgCgoKYGBge3J9CiNhbGwuZGZzIDwtIGxpc3QoaW5jb21lX2NsZWFuZWQsIGluY29tZV9jbGVhbmVkX2JjLCBpbmNvbWUuZHVtbXkuYmMpCgphbGwuc3BsaXRzIDwtIGxpc3QoCiAgJ2luY29tZV9jbGVhbmVkJyA9IHRlc3RfdHJhaW5fc3BsaXQoaW5jb21lX2NsZWFuZWQsIEF2ZyB+IC4pLAogICdpbmNvbWVfY2xlYW5lZF9iYycgPSB0ZXN0X3RyYWluX3NwbGl0KGluY29tZV9jbGVhbmVkX2JjLCBBdmcuYmMgfiAuKSwKICAnaW5jb21lLmRhdGEuc3BsaXQuc2F0JyA9IHRlc3RfdHJhaW5fc3BsaXQoaW5jb21lLmR1bW15LmJjLCBBdmcuYmMgfiAuKSwKICAnaW5jb21lLmRhdGEuc3BsaXQuYmVzdCcgPSB0ZXN0X3RyYWluX3NwbGl0KGluY29tZS5kdW1teS5iYywgaW5jb21lLmJlc3QuZm9ybXVsYSkKKQojRm9yIGxvb3BzIGluaXRpYWxpemF0aW9uCmZvcm11bGFzIDwtIGxpc3QoaW5jb21lX2NsZWFuZWQgPSBzYXQuZm9ybXVsYSwgaW5jb21lX2NsZWFuZWRfYmMgPSBzYXQuZm9ybXVsYS5iYywgaW5jb21lLmRhdGEuc3BsaXQuc2F0ID0gc2F0LmZvcm11bGEuYmMsIGluY29tZS5kYXRhLnNwbGl0LmJlc3QgPSBpbmNvbWUuYmVzdC5mb3JtdWxhKQoKbm8ucmVnLnIyIDwtIGMoKSAKbGFzc28ucmVnLnIyIDwtIGMoKQpyaWRnZS5yZWcucjIgPC0gYygpCgoKZm9yIChpIGluIG5hbWVzKGFsbC5zcGxpdHMpKSB7CiAgI25vIHJlZ3VsYXJpemF0aW9uCiAgbSA9IGxtKGZvcm11bGFzW1tpXV0sIGFsbC5zcGxpdHNbW2ldXVtbJ2RhdGEudHJhaW4nXV0pCiAgbm8ucmVnLnIyIDwtIGMobm8ucmVnLnIyLCBzdW1tYXJ5KG0pJGFkai5yLnNxdWFyZWQpCiAgCiAgI2xhc3NvIHJlZ3VsYXJpemF0aW9uCiAgbGFzc28ucmVnLnIyIDwtIGMobGFzc28ucmVnLnIyLCByZWd1bGFyaXphdGlvbl9mdW5jKGFsbC5zcGxpdHNbW2ldXSwgMSwgaSkpCiAgCiAgI3JpZGdlIHJlZ3VsYXJpemF0aW9uCiAgcmlkZ2UucmVnLnIyIDwtIGMocmlkZ2UucmVnLnIyLCByZWd1bGFyaXphdGlvbl9mdW5jKGFsbC5zcGxpdHNbW2ldXSwgMCwgaSkpCiAgCn0KCmBgYAoKCmBgYHtyfQpkZi5yc3F1YXJlIDwtIGFzLmRhdGEuZnJhbWUoY2JpbmQoJ25vUmVnJyA9IG5vLnJlZy5yMiwgJ2xhc3NvUmVnJyA9IGxhc3NvLnJlZy5yMiwgJ3JpZGdlUmVnJyA9IHJpZGdlLnJlZy5yMikpCnJvd25hbWVzKGRmLnJzcXVhcmUpID0gbmFtZXMoYWxsLnNwbGl0cykKZGYucnNxdWFyZQpgYGAKCgpgYGB7cn0KIyBzYXQubW9kZWwuYmMgPC0gbG0oQXZnLmJjIH4uLCBkYXRhID0geHkuc3BsaXRzLnNhdFtbJ2luZHVzdHJ5J11dW1snZGF0YS50cmFpbiddXSkKIyAKIyB0ZW1wLmRmIDwtIGFzLmRhdGEuZnJhbWUoeHkuc3BsaXRzLnNhdFtbJ2luZHVzdHJ5J11dW1snWC50ZXN0J11dKQojIAojIGNvbG5hbWVzKHRlbXAuZGYpWzU3XQojIAojIGNvbG5hbWVzKHRlbXAuZGYpIDwtIHN0cl9yZXBsYWNlX2FsbChjb2xuYW1lcyh0ZW1wLmRmKSwgIltgXSIsICcnKQojIGNvbG5hbWVzKHRlbXAuZGYpCiMgCiMgeS5wcmVkaWN0IDwtIHByZWRpY3Qoc2F0Lm1vZGVsLmJjLCBuZXdkYXRhID0gdGVtcC5kZikKIyBNU0Uuc2F0IDwtIG1lYW4oKHkucHJlZGljdCAtIHh5LnNwbGl0cy5zYXRbWydpbmR1c3RyeSddXVtbJ3kudGVzdCddXSleMikKIyAKIyBwcmludChwYXN0ZShpLCAnIExhc3NvIE1TRTogJywgTVNFLmxhc3NvLCAnIFNhdHVyYXRlZCBNU0U6ICcsIE1TRS5zYXQpKQojIAojIHN1bW1hcnkoc2F0Lm1vZGVsLmJjKSRjb2VmZmljaWVudHMKIyBhcy5kYXRhLmZyYW1lKHh5LnNwbGl0cy5zYXRbWydpbmR1c3RyeSddXVtbJ1gudGVzdCddXSkgJT4lIHNlbGVjdChzdGFydHNfd2l0aCgnYEdyb3VwT3RoJykpCgpgYGAKCgpgYGB7cn0KMC43MjkzCgojIENvbXB1dGUgUl4yIGZyb20gdHJ1ZSBhbmQgcHJlZGljdGVkIHZhbHVlcwpldmFsX3Jlc3VsdHMgPC0gZnVuY3Rpb24odHJ1ZSwgcHJlZGljdGVkLCBkZikgewogIFNTRSA8LSBzdW0oKHByZWRpY3RlZCAtIHRydWUpXjIpCiAgU1NUIDwtIHN1bSgodHJ1ZSAtIG1lYW4odHJ1ZSkpXjIpCiAgUl9zcXVhcmUgPC0gMSAtIFNTRSAvIFNTVAogIFJNU0UgPSBzcXJ0KFNTRS9ucm93KGRmKSkKICAKICByZXR1cm4oYyhSTVNFID0gUk1TRSwKICBSc3F1YXJlID0gUl9zcXVhcmUpKQogIAp9CgojIFByZWRpY3Rpb24gYW5kIGV2YWx1YXRpb24gb24gdHJhaW4gZGF0YQpwcmVkaWN0aW9uc190cmFpbiA8LSBwcmVkaWN0KHJpZGdlX3JlZywgcyA9IG9wdGltYWxfbGFtYmRhLCBuZXd4ID0geCkKZXZhbF9yZXN1bHRzKHlfdHJhaW4sIHByZWRpY3Rpb25zX3RyYWluLCB0cmFpbikKCiMgUHJlZGljdGlvbiBhbmQgZXZhbHVhdGlvbiBvbiB0ZXN0IGRhdGEKcHJlZGljdGlvbnNfdGVzdCA8LSBwcmVkaWN0KHJpZGdlX3JlZywgcyA9IG9wdGltYWxfbGFtYmRhLCBuZXd4ID0geF90ZXN0KQpldmFsX3Jlc3VsdHMoeV90ZXN0LCBwcmVkaWN0aW9uc190ZXN0LCB0ZXN0KQoKc3VtbWFyeShpbmNvbWUubW9kZWwuYmMpCmluY29tZS5kdW1teS5iYwpgYGAKCgoKCgoKCmBgYHtyfQphcy5kYXRhLmZyYW1lKGxhc3NvLmJlc3QubGFtYmRhLnRyYWluLnByZWQpICU+JSBtdXRhdGUoQXZnX2luX2RvbGxhcnMgPSAobGFzc28uYmVzdC5sYW1iZGEudHJhaW4ucHJlZCpsYW1iZGEuYmMrMSleKDEvbGFtYmRhLmJjKSkKYGBgCgpgYGB7cn0KaW5jb21lLnNhdC5kYXRhLnNwbGl0IDwtIHRlc3RfdHJhaW5fc3BsaXQoaW5jb21lLmR1bW15LmJjLCBBdmcuYmMgfiAuKQppbmNvbWUuc2F0LmRhdGEuc3BsaXRbWydYLnRyYWluJ11dCgpzYXQubW9kZWwuYmMgPC0gbG0oQXZnLmJjIH4uLCBkYXRhID0gYXMuZGF0YS5mcmFtZShjYmluZChpbmNvbWUuc2F0LmRhdGEuc3BsaXRbWydYLnRyYWluJ11dLCBpbmNvbWUuc2F0LmRhdGEuc3BsaXRbWyd5LnRyYWluJ11dKSkpCnN1bW1hcnkoc2F0Lm1vZGVsLmJjKQoKY2FsY19NU0Uoc2F0Lm1vZGVsLmJjLCBhcy5kYXRhLmZyYW1lKGluY29tZS5zYXQuZGF0YS5zcGxpdFtbJ1gudGVzdCddXSksIGluY29tZS5zYXQuZGF0YS5zcGxpdFtbJ3kudGVzdCddXSkKCgpzYXQueS5wcmVkaWN0IDwtIHByZWRpY3Qoc2F0Lm1vZGVsLmJjLCBuZXdkYXRhID0gYXMuZGF0YS5mcmFtZShpbmNvbWUuc2F0LmRhdGEuc3BsaXRbWydYLnRlc3QnXV0pKQptZWFuKChzYXQueS5wcmVkaWN0IC0gaW5jb21lLnNhdC5kYXRhLnNwbGl0W1sneS50ZXN0J11dKV4yKQpgYGAKCg==